【发布时间】:2011-06-16 19:32:40
【问题描述】:
我在我正在构建的应用中设置了一些手势识别。其中一种手势是单指单击,它隐藏了屏幕顶部的工具栏。效果很好,除了一件事:点击链接也会导致工具栏消失。
是否可以检测到不是点击链接的点击?我可以通过查看点击发生的位置来做到这一点,并且只在它没有发生在 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];
此代码位于 viewDidLoad 中。
和以前一样,代码正确地看到了单指单击,但在 UIWebView 中的链接上的单击也会导致工具栏消失。如果没有点击链接,我只希望工具栏消失。
大家有什么建议吗?
谢谢。
克里斯
谢谢 克里斯
【问题讨论】:
-
编辑添加有关如何实施的问题。
-
在尝试@octy 的建议后添加了更多信息
标签: ios cocoa-touch uiwebview uigesturerecognizer