[英]UIWebView: Cancel opening a link when “touch up” is outside of the link?
我有一个UIWebView,文本中有链接,如果按下则打开Safari。
如果用户触摸链接,它会变暗......但是如果他想取消通过先将手指移开而按下链接,它会保持黑暗,并且在任何地方释放手指都会打开链接。
是否有某种方法可以让用户通过移开他的手指来“取消”他的“点击” - 沿着“内部触摸”按钮的行为?
无法使用公共SDK完全按照您的要求进行操作。
我能想到的最佳答案是跟踪UIWebView本身的触摸开始和触摸结束事件。 然后,添加一个UIWebviewDelegate
,并在此委托的接口中添加一个布尔值bLastTouchDidWander
(名称纯粹为例)
触摸向下,将bLastTouchDidWander
设置为false。
在触摸屏上,您可以测量触摸移动的距离。 如果它移动超过设定的数量,请将其视为“外部bLasTTouchDidWander
”,并将bLasTTouchDidWander
设置为true。
然后,对于webView:shouldStartLoadWithRequest:navigationType:
UIWebViewDelegate
消息,如果bLastTouchDidWander
为true,则不要关注该链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.