WKWebView果然是個(gè)坑爹的貨,升級(jí)到iOS10后,發(fā)現(xiàn)原來在UITableviewCell中iOS8,iOS9顯示正常的WKWebview到了iOS10只能顯示一部分,研究發(fā)現(xiàn)這個(gè)是WK在rendering的時(shí)候出現(xiàn)了問題,需要滑動(dòng)的時(shí)候重新刷新webview進(jìn)行處理。直接貼代碼:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
if (!tempOffset || ABS(scrollView.contentOffset.y - tempOffset) > SCREEN_HEIGHT/2)
{
[self.h5Cell.webView setNeedsLayout];
tempOffset = scrollView.contentOffset.y;
}
}
上面的方法通過滾動(dòng)距離來控制render,但是對(duì)于滾動(dòng)區(qū)間條件之外的會(huì)同樣出現(xiàn)顯示問題,解決方案,對(duì)scrollview的drag事件進(jìn)行捕獲:
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate;
{
if([UIDevicecurrentDevice].systemVersion.floatValue>=10) {
[self.h5Cell.webViewsetNeedsLayout];
}
}