2012-10-30 28 views

cevap

1

Sadece javascript touchend etkinliğine (veya Obj-C'de touchesEnded) kilitlenip window.getSelection() durumunu kontrol edebilirsiniz. Ayrıca javascript olayı selectionchange da var.

Ben subviews arasında döngü aracılığıyla UIWebView seçiminin durumunu kontrol etmektir kullanmak başka yöntem:

- (bool) selectionInWebView:(UIWebView*)webView { 
    UIScrollView *scrollView = webView.scrollView; //assumes IO(6)? and scrollView is exposed. Loop subviews otherwise. 
    UIView *browserView; 

    for(int i = 0; scrollView.subviews.count; i++){ 
     if([NSStringFromClass([scrollView.subviews[i] class]) isEqualToString:@"UIWebBrowserView"]){ 
      browserView = scrollView.subviews[i]; break; 
     } 
    } 

    if(browserView == nil) return false; 

    for(int i = 0; browserView.subviews.count; i++){ 
     if([NSStringFromClass([browserView.subviews[i] class]) isEqualToString:@"UIWebSelectionView"]){ 
      //UIView *selectionView = browserView.subviews[i]; 
      return true; //selection view exists, a selection is in progress 
     } 
    } 

    return false; 
} 

Ama en iyi seçenek seçimi durumunu kontrol ediyor dokunmatik uç olaylar yangın veya seçim değiştirme olayı yangınlar.

+1

Bunu yaptığınız için teşekkür ederiz. – HalR