[英]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.