如何禁用3D Touch Link预览

时间:2019-12-16 08:49:05

标签: swift wkwebview 3dtouch

自iOS10起,默认情况下已启用“ 3D Touch链接预览”,但是如何在我的应用中将其禁用?文档说setting allowsLinkPreview to false可以实现,但是针对每个用例分别进行操作会占用太多代码。必须有一种更简单的方法,对吧?

我以为这样做可以,但是出现错误“属性不会覆盖其超类中的任何属性” 。我希望只有一个小错误,将不胜感激:

extension WKWebView {
    override open var allowsLinkPreview: Bool {
        set {
            // no-op
        }
        get {
            return false
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用便捷初始化程序扩展WKWebView并在其中设置属性。然后使用此初始化程序实例化Web视图。

extension WKWebView {
    convenience init(allowsLinkPreview: Bool) {
        self.init()
        self.allowsLinkPreview = allowsLinkPreview
    }
}

另一种选择是制作WKWebView的子类,并在其中添加此便捷初始化程序。