WKWebView 动态大小问题
WKWebView dynamic sizing issues
在我目前正在开发的应用程序中,UIWebView
用于显示 PowerPoint 等文件。 Web 视图右侧有一个抽屉,可以通过 UIPanGestureRecognizer
打开和关闭。当您调整大小,然后打开或关闭时,Web 视图的右侧将出现一个黑色工件,与此问题中看到的完全一样:Black bar appearing in UIWebview when device orientation changes.
在那个问题和 iOS 8 中用黑色背景呈现 PDF 的问题之间,我决定尝试 WKWebView
。这没有任何问题,但是当 web 视图的宽度动态变化时(右约束绑定到平移手势),web 视图中的内容非常慢。 Web 视图要么不调整大小,要么非常 choppy/blocky。使用 UIWebView
时不存在此问题。有没有人有任何指示来解决 UIWebView
和那个黑色工件的问题,或者为什么 WKWebView
表现如此糟糕?
回复:WKWebView
我的猜测是 webview 在调整框架时多次尝试重新呈现其内容。这可能会导致断断续续,可能对此你无能为力。 (不确定)
您可以 'cheat' 的一种方法是在调整框架之前拍下 webview 的快照,然后将其放在 webview 之上。
将 webview 的 hidden
属性 设置为 YES
,希望在框架调整时终止重新渲染。
将快照连接到平移手势识别器,当手势结束时,为 webview 提供最终帧并将 hidden
设置回 NO
此时,您可以删除快照(可能使用 alpha 动画),webview 应该只需要重新呈现其内容一次。
快照的外观和 webview 的最终外观之间可能会有差异,但应该是可行的。
在我目前正在开发的应用程序中,UIWebView
用于显示 PowerPoint 等文件。 Web 视图右侧有一个抽屉,可以通过 UIPanGestureRecognizer
打开和关闭。当您调整大小,然后打开或关闭时,Web 视图的右侧将出现一个黑色工件,与此问题中看到的完全一样:Black bar appearing in UIWebview when device orientation changes.
在那个问题和 iOS 8 中用黑色背景呈现 PDF 的问题之间,我决定尝试 WKWebView
。这没有任何问题,但是当 web 视图的宽度动态变化时(右约束绑定到平移手势),web 视图中的内容非常慢。 Web 视图要么不调整大小,要么非常 choppy/blocky。使用 UIWebView
时不存在此问题。有没有人有任何指示来解决 UIWebView
和那个黑色工件的问题,或者为什么 WKWebView
表现如此糟糕?
回复:WKWebView
我的猜测是 webview 在调整框架时多次尝试重新呈现其内容。这可能会导致断断续续,可能对此你无能为力。 (不确定)
您可以 'cheat' 的一种方法是在调整框架之前拍下 webview 的快照,然后将其放在 webview 之上。
将 webview 的 hidden
属性 设置为 YES
,希望在框架调整时终止重新渲染。
将快照连接到平移手势识别器,当手势结束时,为 webview 提供最终帧并将 hidden
设置回 NO
此时,您可以删除快照(可能使用 alpha 动画),webview 应该只需要重新呈现其内容一次。
快照的外观和 webview 的最终外观之间可能会有差异,但应该是可行的。