我有一个提供webViews的应用程序。
这个WebViews提供了我想要自己处理的链接。
使用委托方法一切都很好用,但是当用户使用强制触摸时我遇到了问题。在这种情况下,iOS正在通过safari过渡到链接而不会听我的代表。
我的问题是 - 如何从我的应用中删除强力触控?
由于
答案 0 :(得分:3)
根据此WebKit post,默认情况下,在iOS 9上allowsLinkPreview
为false
,默认情况下在iOS 10 +上启用
WebKit支持Peek和Pop作为预览链接的简便方法。应用 针对iOS 10 SDK构建的将具有Peek和Pop链接预览 默认情况下启用,但该功能不是新功能;自iOS 9起,WKWebView 客户可以选择支持3D Touch的基于Peek的链接预览 在WKWebView上使用allowsLinkPreview属性的设备。当。。。的时候 allowsLinkPreview属性设置为true,用户可以轻轻按下 链接到它们,它在应用程序的另一个视图中加载链接 并在后台模糊应用程序。
尝试将其设置为false
答案 1 :(得分:0)
我相信这就是你所寻求的:
func webView(_ webView: WKWebView, shouldPreviewElement elementInfo: WKPreviewElementInfo) -> Bool {
return false
}
它是WKUIDelegate
中的一个委托方法,已在iOS10中添加。这将禁用强制触摸预览。
答案 2 :(得分:0)
从网络视图中删除3d touch的方法是 -
yourWebView.allowsLinkPreview = false