class VIEwController: UIVIEwController { @IBOutlet var progressVIEw: UIProgressVIEw! @IBOutlet var webVIEw: WKWebVIEw! var pdfURLS: URL? overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. pdfURLS = Bundle.main.url(forResource: "97_pdf",withExtension: "pdf",subdirectory: nil,localization: nil) } overrIDe func vIEwWillAppear(_ animated: Bool) { super.vIEwWillAppear(animated) print("pdfURLS: \(String(describing: pdfURLS))") } @IBAction func loadAction(_ sender: Any) { if let pdfURL = pdfURLS { self.webVIEw.loadfileURL(pdfURL,allowingReadAccessto: pdfURL.deletingLastPathComponent()) } }}
有人对这个问题有所了解吗?
附有图像参考.如果我使用不推荐使用的UIWebVIEw,则不存在此类问题,但我不想使用已弃用的库.
解决方法 我们在firefox for iOS中遇到了这个问题:https://bugzilla.mozilla.org/show_bug.cgi?id=1516524
我也在WebKit BUG中引用了这篇SO帖子:
https://bugs.webkit.org/show_bug.cgi?id=193281
目前,我们找到了一个解决方法:
let prevIoUsZoomScale = webVIEw.scrollVIEw.zoomScalelet prevIoUsContentOffset = webVIEw.scrollVIEw.contentOffsetif let currentItem = webVIEw.backForwardList.currentItem { webVIEw.go(to: currentItem)}dispatchQueue.main.asyncAfter(deadline: .Now() + .milliseconds(100)) { webVIEw.scrollVIEw.setZoomScale(prevIoUsZoomScale,animated: false) webVIEw.scrollVIEw.setContentOffset(prevIoUsContentOffset,animated: false)}
基本上,我们重新访问后退/前进历史记录列表中的URL,重新绘制pdf,然后我们恢复滚动视图位置/缩放.它不是很好,但它的工作原理.
总结以上是内存溢出为你收集整理的ios – WKWebView显示灰色背景,pdf内容在viewcontroller开关上不可见全部内容,希望文章能够帮你解决ios – WKWebView显示灰色背景,pdf内容在viewcontroller开关上不可见所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)