我在iPad上有一个主窗口xib。主窗口有敲击手势识别器,当用户点击屏幕时,会显示/隐藏工具栏。主窗口中还有一个网页视图。
如果用户在Web视图中点击链接,我该如何取消手势呢?我不希望他们点击链接时工具栏切换。
谢谢。
您需要检查视图是否应该接收触摸事件,实现以下操作:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
// test if our control subview is on-screen
if (self.view.superview != nil) {
if ([touch.view isKindOfClass:[UIWebView class]]) {
// we touched our UIWebView
return NO; // ignore the touch
}
}
return YES; // handle the touch
}
如果您想使用UITapGestureRecognizer,需要按照此处所述的方式对UIWebView进行子类化:https://github.com/psychs/iphone-samples/tree/4028ab78af92ab17465338575b78ed80310a613f/WebViewTappingHack