OGeek|极客世界-中国程序员成长平台

标题: ios - 是否可以在带有 WKWebView 的链接上实现 3D Touch 的自定义行为? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:36
标题: ios - 是否可以在带有 WKWebView 的链接上实现 3D Touch 的自定义行为?

我正在尝试使用 WKWebView 在链接上添加自己的 3D 触摸实现,因此我将 WKWebViewallowsLinkPreview 属性设置为.

但是,无法检查 3D 触摸是否在链接上,也不可能知道是哪个链接。

所以我想知道是否有办法将 allowsLinkPreview 属性设置为 true,然后捕捉 3D 触摸链接时触发的 peek 事件?



Best Answer-推荐答案


这是可能的。您应该将 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4