我在我正在构建的应用程序中设置了一些手势识别.其中一个手势是单指单击,它隐藏了屏幕顶部的工具栏.除了一件事之外,效果很好:点击链接会导致工具栏消失.
是否可以检测到链接上没有点按的水龙头?我可以通过查看点击发生的位置来执行此操作,并且只有在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中的链接也会导致工具栏消失.如果没有点击链接,我只希望工具栏消失.
有人有什么建议吗?
谢谢.
克里斯
谢谢克里斯
我如何拦截window.open像Safari Safari那样的Javascript调用?我没有看到任何关于此的列表,但它必须以某种方式可能吗?
有没有人这样做过?