Chr*_*ris 11 cocoa-touch uiwebview uigesturerecognizer ios
我在我正在构建的应用程序中设置了一些手势识别.其中一个手势是单指单击,它隐藏了屏幕顶部的工具栏.除了一件事之外,效果很好:点击链接会导致工具栏消失.
是否可以检测到链接上没有点按的水龙头?我可以通过查看点击发生的位置来执行此操作,并且只有在html链接上没有发生时才采取操作吗?这是可能的,指向如何确定链接是否被点击的指针将是有帮助的.
根据Octys的建议,我确实尝试将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];
Run Code Online (Sandbox Code Playgroud)
此代码驻留在viewDidLoad中.
和以前一样,代码正确地看到单个手指单击,但点击UIWebView中的链接也会导致工具栏消失.如果没有点击链接,我只希望工具栏消失.
有人有什么建议吗?
谢谢.
克里斯
谢谢克里斯
oct*_*cty 10
尝试将您UIWebView的UIView容器包装在容器中并在容器视图上设置手势识别器.未经处理的触摸事件UIWebView将在视图层次结构中向上传递并被容器视图截获,假设它实现了适当的处理程序(并且这些处理程序应该实现隐藏工具栏的代码......).
| 归档时间: |
|
| 查看次数: |
13609 次 |
| 最近记录: |