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