我正在尝试使用 WKWebView 在链接上添加自己的 3D 触摸实现,因此我将 WKWebView 的 allowsLinkPreview 属性设置为假 .
但是,无法检查 3D 触摸是否在链接上,也不可能知道是哪个链接。
所以我想知道是否有办法将 allowsLinkPreview 属性设置为 true ,然后捕捉 3D 触摸链接时触发的 peek 事件?
Best Answer-推荐答案 strong>
这是可能的。您应该将 allowsLinkPreview 值设置为 true ,然后实现以下方法。这两种方法都需要实现,否则将不起作用。
optional func webView(_ webView: WKWebView, previewingViewControllerForElement elementInfo: WKPreviewElementInfo, defaultActions previewActions: [WKPreviewActionItem]) -> UIViewController?
optional func webView(_ webView: WKWebView, commitPreviewingViewController previewingViewController: UIViewController)
在我的例子中,我不想创建 previewViewController,所以我只返回了一个 SFSafariViewController 并传入了我的 url。这似乎工作得很好。至于 commitPreviewingViewController 方法,我将代码放在其中以在浏览器中打开一个新选项卡。
来源:iOS 10 Link Preview API in WKWebView
关于ios - 是否可以在带有 WKWebView 的链接上实现 3D Touch 的自定义行为?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/41702822/
|