ios – 使用UIWebView的手势识别

我在一个正在建立的应用程序中设置了一些手势识别.其中一个手势是单手指单击,它隐藏在屏幕顶部的工具栏.除了一件事情之外,工作很好:点击链接会导致工具栏也消失.

是否可以检测到不是点击连接的水龙头?我可以通过查看点击发生的位置来做到这一点,只有在html链接上没有发生的情况下才能采取行动?这是可能的,一个指向如何确定链接是否被点击的指针将是有帮助的.

根据Oct Oct的建议,我试图将UIWebView包含在UIView中.我正在使用界面构建器,所以我在层次结构中插入一个视图,并使UIWebView成为新UIView的“子”.现在层次结构如下:

我在视图控制器中为视图添加了一个IBOutlet,并将其链接到界面构建器中.

我改变了手势识别器设置看起来像这样:

UITapGestureRecognizer* singleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleTap:)];
singleTap.numberOfTouchesRequired=1;
singleTap.delegate=self;
[self.UIWebViewContainer addGestureRecognizer:singleTap];
[singleTap release];

此代码驻留在viewDidLoad中.

如前所述,代码正确地看到单个手指单击,但是在UIWebView中的链接上点击也会导致工具栏消失.如果没有点击链接,我只想让工具栏消失.

有人有什么建议吗?

谢谢.

克里斯

谢谢
克里斯

解决方法

尝试将UIWebView包装在UIView容器中,并在容器视图上设置手势识别器.触摸未由UIWebView处理的事件将被传递给视图层次结构,并被容器视图拦截,假设它实现了相应的处理程序(并且这些处理程序应该实现隐藏工具栏的代码…).

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...