我在一个正在建立的应用程序中设置了一些手势识别.其中一个手势是单手指单击,它隐藏在屏幕顶部的工具栏.除了一件事情之外,工作很好:点击链接会导致工具栏也消失.
是否可以检测到不是点击连接的水龙头?我可以通过查看点击发生的位置来做到这一点,只有在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处理的事件将被传递给视图层次结构,并被容器视图拦截,假设它实现了相应的处理程序(并且这些处理程序应该实现隐藏工具栏的代码…).