论WKWebView系统级下的差异

ps : 以下 WKWebView 我精简缩写为wk

WKWebView是苹果在WWDC 2014上推出的新一代webView组件,用以替代UIKit中笨重难用,内存泄漏的UIWebView.WKWebView拥有60fps滚动刷新率,和safari相同的JavaScript引擎等优势。

简单的适配方法本文不再赘述


今天主要来说说适配wk过程中iOS11和iOS11以下的差异(如果你也遇到相同的情况)


场景需求:在tableView中嵌套webview webview需要根据内容高度进行高度自适应


在iOS11下,一切显示正常,但在iOS10下,当前屏幕区域显示正常,但往上滑动tableView时,发现下面一片空白,wk的后半部分没有显示,调试了好久,也百度了WKWebView的一些使用问题,最后在CSDN上看到有人也遇到同样的问题,可能是wk在滑动过程中不会自动刷新屏幕内容,所以需要在滑动tableView时强制刷新WKWebView,才能完全显示wk的内容,以下是代码:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (self.tableView == scrollView) {
        for (UIView *cell in self.tableView.visibleCells) {
            if ([cell isKindOfClass:[DetailsWebViewCell class]]) {
                [((DetailsWebViewCell *)cell).webView setNeedsLayout];
            }
        }
    }
}

更多坑可参考:腾讯Bugly

https://mp.weixin.qq.com/s/rhYKLIbXOsUJC_n6dt9UfA

参考链接:https://blog.csdn.net/wpr188/article/details/79710218

你可能感兴趣的:(论WKWebView系统级下的差异)