禁用iOS应用程序的3D触控

时间:2018-04-26 14:13:41

标签: ios 3dtouch

我有一个提供webViews的应用程序。

这个WebViews提供了我想要自己处理的链接。

使用委托方法一切都很好用,但是当用户使用强制触摸时我遇到了问题。在这种情况下,iOS正在通过safari过渡到链接而不会听我的代表。

我的问题是 - 如何从我的应用中删除强力触控?

由于

3 个答案:

答案 0 :(得分:3)

根据此WebKit post,默认情况下,在iOS 9上allowsLinkPreviewfalse,默认情况下在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