UIWebView:当“修饰”在链接之外时取消打开链接?

时间:2011-03-18 11:07:21

标签: cocoa-touch ios uikit uiwebview

我有一个UIWebView,文本中有链接,如果按下则会打开Safari。

如果用户触摸某个链接,它会变暗......但是如果他想取消通过先将手指移开而按下链接,它会保持黑暗,并且释放手指可以打开链接。

是否有某种方法可以让用户通过移开他的手指来“取消”他的“点击” - 沿着“内部触摸”按钮的行为?

1 个答案:

答案 0 :(得分:2)

无法使用公共SDK完全按照您的要求进行操作 我能想到的最佳答案是跟踪UIWebView本身的触摸开始和触摸结束事件。 然后,添加一个UIWebviewDelegate,并在此委托的界面中添加一个布尔bLastTouchDidWander(名称纯粹为例)

在触摸向下时,您将bLastTouchDidWander设置为false。

在触摸屏上,您可以测量触摸移动的距离。如果移动超过设定金额,请将其视为“在外部修饰”,并将bLasTTouchDidWander设置为true。

然后,对于webView:shouldStartLoadWithRequest:navigationType:的{​​{1}}消息,如果UIWebViewDelegate为真,请不要点击该链接。