在我目前正在处理的应用中,UIWebView
用于显示PowerPoints等文件。 Web视图右侧有一个抽屉,可以通过UIPanGestureRecognizer
打开和关闭。当您调整大小,然后打开或关闭时,网页视图右侧会出现一个黑色工件,完全如此问题所示:Black bar appearing in UIWebview when device orientation changes。
在该问题与iOS 8中的问题之间以及使用黑色背景渲染的PDF时,我决定试用WKWebView
。这没有任何问题,但是当web视图的宽度动态变化(右边约束绑定到平移手势)时,web视图中的内容非常慢。 Web视图要么不调整大小,要么像它一样非常不稳定/阻塞。使用UIWebView
时,此问题不存在。有没有人有任何指针来解决问题UIWebView
和黑色工件,或者为什么WKWebView
表现如此糟糕?
答案 0 :(得分:1)
re:WKWebView
我的猜测是,当调整帧时,webview会尝试多次重新渲染其内容。这可能会导致不稳定,并且可能对此无能为力。 (不确定)
你可以“欺骗”的一种方法是在调整框架之前拍摄webview的快照,然后将其放在webview的顶部。
将webview的hidden
属性设置为YES
,以便在调整帧时终止重新渲染。
将快照连接到平移手势识别器,当手势结束时,将webview设为最终帧并将hidden
设置回NO
此时,你可以删除快照(可能带有alpha动画),webview只需要重新渲染一次。
快照的外观和webview的最终外观之间可能存在差异,但它应该是可行的。