因為項目數(shù)據(jù)要求袄秩,加載的html數(shù)據(jù)量太大,用原始的UIWebView加載,導致內(nèi)存暴漲————崩潰
改用WKWebView阳谍,但是加載的時候頁面的行高顯示的是正確的,但是里面的數(shù)據(jù)一直顯示不全螃概;
? 1》 WKWebView放置的位置矫夯,在加載cell的時候,直接放在cell的contentView
2》? 設置觀察者
? ? ? ? [self.detailWebView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
3》在觀察方法中設置為WKWebView的frame
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void *)context {
CGSize websize = [[change objectForKey:@"new"] CGSizeValue];
self.detailWebView.frame = CGRectMake(0, 0, ScreenWidth, websize.height);
[self.cellHeightArr replaceObjectAtIndex:1 withObject:@(websize.height)];
NSIndexPath*index=[NSIndexPath indexPathForRow:0 inSection:self.saveCellArrM.count-1];
[self.tableView reloadRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationNone];
}
?3》 每次值改變的時候吊洼,重新設置加載cell训貌,設置cell的高度
?4》 結(jié)論:cell的行高是頁面內(nèi)容的高度,可是在加載后冒窍,頁面中的數(shù)據(jù)有時能顯示完整递沪,有時顯示不完整
解決辦法:
1》 在cell上加載一個scrollView,再將WKWebView加載到scrollView上,讓后在每次加載cell的時候综液,設置scrollView的高度為頁面的高度(最主要的就是不能將WKWebView直接放在cell上)
2》其它的設置不變
3》結(jié)論:哈哈哈款慨,正常的加載顯示。