在 iOS 10 上的 WKWebView 中打开 PDF 文件时启用捏合缩放手势
Posted
技术标签:
【中文标题】在 iOS 10 上的 WKWebView 中打开 PDF 文件时启用捏合缩放手势【英文标题】:Enable Pinch to Zoom gesture when open PDF file in WKWebView on iOS 10 【发布时间】:2019-02-21 23:17:01 【问题描述】:我正在寻找一种方法来在 ios 10 上的 WKWebview 中打开本地 PDF 文件时启用“双指缩放”放大手势。据我所知,iOS 12 上启用了双指缩放
class ViewController: UIViewController
var wkWebView: WKWebView?
@IBOutlet var webView: UIView!
fileprivate var delegate = AuthenticatedWebViewNavigationDelegate()
override func viewDidLoad()
super.viewDidLoad()
if wkWebView == nil
createWebView()
let filePath = Bundle.main.path(forResource: "local", ofType:
"pdf")
let baseUrl = URL(fileURLWithPath: filePath!)
wkWebView?.loadFileURL(baseUrl, allowingReadAccessTo: baseUrl)
class AuthenticatedWebViewNavigationDelegate: NSObject, WKNavigationDelegate
weak var viewController: ViewController?
public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
decisionHandler(.allow)
public func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void)
decisionHandler(.allow)
public func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error)
print("error")
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
print("finish")
public func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error)
print("error")
【问题讨论】:
坚持使用 ios 12 ! 【参考方案1】:我发现在 iOS 10 的 wkwebview 上 scrollview.pinchGestureRecognizer 被禁用了
所以解决办法是开启 pinchGestureRecognizer,我把函数放在下面的函数中:
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
if #available(iOS 11.0, *)
else
if webView.url?.scheme == "file"
webView.scrollView.pinchGestureRecognizer?.isEnabled = true
print("finish")
【讨论】:
以上是关于在 iOS 10 上的 WKWebView 中打开 PDF 文件时启用捏合缩放手势的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin iOS WKWebView 不显示谷歌recaptcha
WKWebview 在 macOS 上的默认浏览器中打开目标 =“_blank”链接
iOS14,WKWebView 无法打开带有 _blank 目标的链接
iOS UIWebview,禁用双击,允许点击 WKWebview
UI11上的UIWebView / WKWebView崩溃(用完可执行内存)
iOS防止在WKWebView中打开Universal Link( Prevent universal links from opening in WKWebView)