UIWebView 和取消点击手势

发布于 2024-11-09 05:18:39 字数 133 浏览 0 评论 0 原文

我在 iPad 上有一个主窗口 xib。主窗口具有点击手势识别器,当用户点击屏幕时显示/隐藏工具栏。主窗口中还有一个网络视图。

如果用户单击网络视图中的链接,我将如何取消手势?如果他们点击链接,我不希望工具栏切换。

谢谢

I have a main window xib on an iPad. The main window has tap gesture recognizers that show/hide a toolbar when the user taps the screen. There is also a web view in the main window.

How would I go about canceling the gestures if the user clicks a link in the web view? I don't want the toolbar to toggle if they hit a link.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紅太極 2024-11-16 05:18:39

您需要检查视图是否应该接收触摸实现:

- (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

You need to check if the view should receive the touch implementing:

- (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
}

If you want to use the UITapGestureRecognizer you need to subclass the UIWebView as explained here: https://github.com/psychs/iphone-samples/tree/4028ab78af92ab17465338575b78ed80310a613f/WebViewTappingHack

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文