如何在启用allowsLinkPreview 的情况下在同一个WKWebView 中打开3D touch 弹出页面?
How to open 3D touch pop pages in the same WKWebView when allowsLinkPreview enabled?
设置 webView.allowsLinkPreview = true
后,链接支持 3D 触摸查看和弹出功能。唯一的问题是新页面将在 Safari 中打开,而不是 webView
.
根据 Apple iOS 10 为 WKWebView 引入了一个新的 API,允许您使用以下委托方法拦截 link 预览的 peek 和 pop 操作:
optional func webView(_ webView: WKWebView, previewingViewControllerForElement elementInfo: WKPreviewElementInfo, defaultActions previewActions: [WKPreviewActionItem]) -> UIViewController?
optional func webView(_ webView: WKWebView, commitPreviewingViewController previewingViewController: UIViewController)
只需使用第二个委托方法在您自己的选项卡中呈现 url 或将其加载到您自己的 WKWebView 中。
设置 webView.allowsLinkPreview = true
后,链接支持 3D 触摸查看和弹出功能。唯一的问题是新页面将在 Safari 中打开,而不是 webView
.
根据 Apple iOS 10 为 WKWebView 引入了一个新的 API,允许您使用以下委托方法拦截 link 预览的 peek 和 pop 操作:
optional func webView(_ webView: WKWebView, previewingViewControllerForElement elementInfo: WKPreviewElementInfo, defaultActions previewActions: [WKPreviewActionItem]) -> UIViewController?
optional func webView(_ webView: WKWebView, commitPreviewingViewController previewingViewController: UIViewController)
只需使用第二个委托方法在您自己的选项卡中呈现 url 或将其加载到您自己的 WKWebView 中。