我在WkWebView中渲染多页面pdf时遇到了一些问题。
如果它是一个单页,它看起来很好。但任何多页PDF的第一页看起来很糟糕。我无法弄清楚原因。
我加载了这样的请求
wkWebView.load(URLRequest(url: request as! URL))
我在另一个视图中保留了一个wkWebView并避免滚动滚动(有一个原因让我知道scrollView是如何工作的)然后我将wWebView的高度和它的scrollView设置为相同的高度作为contentSize。
wkWebView.frame.size.height = wkWebView.scrollView.contentSize.height
wkWebView.frame.size.width = UIScreen.main.bounds.width
wkWebView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
wkWebView.scrollView.delegate = self
答案 0 :(得分:5)
之所以发生这种情况,是因为您需要在执行实际请求之前将wkWebView作为子视图添加到包含它的scrollView中。否则,页面可能会像素化,并且在放大时也不会正常运行。
解决方案:
self.scrollView.addSubview(wkWebView)
wkWebView.load(URLRequest(url: request as! URL))
不工作:
wkWebView.load(URLRequest(url: request as! URL))
self.scrollView.addSubview(wkWebView)
答案 1 :(得分:-3)
使用以下方法:
[self.wkWebView loadFileURL:fileURL allowingReadAccessToURL:baseUrl];
注意: FileURL,是需要加载HTML文件路径 BaseUrl是下一个更高级别的HTML文件路径。这是坑,baseUrl和fileURL不一样!