2013-05-09 43 views
0

我有加UIWebViewUIViewController再加入彼此UIViewController在同一ViewController然後我想獲得觸摸上UIwebView獲取觸摸在web視圖

回答

0

我有一個UIWebViewUIViewController的視圖的孩子。爲我工作(用於製表手勢)的解決方案是這樣的:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDoubleTap:)]; 
tap.numberOfTapsRequired = 1; 
tap.delegate = self; 

[self.webView addGestureRecognizer:tap]; 

UIViewController正在實施從UIGestureRecognizerDelegate協議的下列方法(只retunning YES):

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 
0

您必須添加手勢

第一組代表in.h中文件

-(void)ViewDidLoad 
    { 
      UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] 
     initWithTarget:self action:@selector(HandleGesture:)]; 
     gesture.delegate=self; 
      gesture.numberOfTapsRequired = 1; 
     [YourWebview addGestureRecognizer:gesture]; 
    } 
    -(void)HandleGesture:(UITapGestureRecognizer *)sender 
    { 
     if (gesture.state == UIGestureRecognizerStateEnded) 
     { 

     } 
     if (gesture.state == UIGestureRecognizerStateBegan) 
     { 
        // You can write here any action 
     } 
    } 
    - (BOOL)gestureRecognizer:(UITapGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { 
     // test if our control subview is on-screen 
     if ([touch.view isKindOfClass:[UIWebView class]]) { 
      // You can handle any thing 
      return YES; 
     }return NO; // handle the touch 
     } 
0

用於識別UIWebview的觸摸事件,UIScrollview可以使用Gestures.don't忘了在.h文件中添加UIGestureRecognizerDelegate

UITapGestureRecognizer *single = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap)]; 
    single.numberOfTapsRequired = 1; 
    single.delegate = self; 
    [webview addGestureRecognizer:single]; 

-(void)oneTap{ 
    NSLog(@"single"); 
} 
0

請注意,來自手勢識別器的觸摸是視圖而非​​基於頁面的。因此,如果您希望自己的應用響應網頁上的特定項目,無論它滾動或放大到哪裏,最好使用URL方案向您的應用發送信號。