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

and*_*ive 4 pdf swift wkwebview

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

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

例

我加载这样的请求

wkWebView.load(URLRequest(url: request as! URL))
Run Code Online (Sandbox Code Playgroud)

我在另一个视图中保留了一个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
Run Code Online (Sandbox Code Playgroud)

and*_*ive 5

之所以发生这种情况,是因为您需要在执行实际请求之前将wkWebView作为子视图添加到包含它的scrollView中.否则,页面可能会像素化,并且在放大时也不会正常运行.

解:

self.scrollView.addSubview(wkWebView)
wkWebView.load(URLRequest(url: request as! URL))
Run Code Online (Sandbox Code Playgroud)

不工作:

wkWebView.load(URLRequest(url: request as! URL))
self.scrollView.addSubview(wkWebView)
Run Code Online (Sandbox Code Playgroud)

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