ps : 以下 WKWebView 我精簡縮寫為wk
WKWebView是蘋果在WWDC 2014上推出的新一代webView組件酝枢,用以替代UIKit中笨重難用,內(nèi)存泄漏的UIWebView.WKWebView擁有60fps滾動刷新率剥险,和safari相同的JavaScript引擎等優(yōu)勢。
簡單的適配方法本文不再贅述
今天主要來說說適配wk過程中iOS11和iOS11以下的差異(如果你也遇到相同的情況)
場景需求:在tableView中嵌套webview webview需要根據(jù)內(nèi)容高度進(jìn)行高度自適應(yīng)
在iOS11下形娇,一切顯示正常仔粥,但在iOS10下挠铲,當(dāng)前屏幕區(qū)域顯示正常冕屯,但往上滑動tableView時(shí),發(fā)現(xiàn)下面一片空白拂苹,wk的后半部分沒有顯示安聘,調(diào)試了好久,也百度了WKWebView的一些使用問題醋寝,最后在CSDN上看到有人也遇到同樣的問題搞挣,可能是wk在滑動過程中不會自動刷新屏幕內(nèi)容带迟,所以需要在滑動tableView時(shí)強(qiáng)制刷新WKWebView音羞,才能完全顯示wk的內(nèi)容,以下是代碼:
- (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