菜鸟教程小白 发表于 2022-12-11 18:36:40

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: ) -&gt; 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]
查看完整版本: ios - 是否可以在带有 WKWebView 的链接上实现 3D Touch 的自定义行为?