WkWebView中PDF的第一页呈现像素化

时间:2018-01-05 08:25:40

标签: swift pdf wkwebview

我在WkWebView中渲染多页面pdf时遇到了一些问题。

如果它是一个单页,它看起来很好。但任何多页PDF的第一页看起来很糟糕。我无法弄清楚原因。

Example

我加载了这样的请求

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

2 个答案:

答案 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)

与此问题类似:https://stackoverflow.com/a/44623268/3418097

答案 1 :(得分:-3)

使用以下方法:

[self.wkWebView loadFileURL:fileURL allowingReadAccessToURL:baseUrl];

注意: FileURL,是需要加载HTML文件路径 BaseUrl是下一个更高级别的HTML文件路径。这是坑,baseUrl和fileURL不一样!