WKWebView加載顯示問題


改用WKWebView,但是加載的時候頁面的行高顯示的是正確的,但是里面的數據一直顯示不全;

出現問題的原因:  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》 結論:cell的行高是頁面內容的高度,可是在加載后,頁面中的數據有時能顯示完整,有時顯示不完整


解決辦法:

1》 在cell上加載一個scrollView,再將WKWebView加載到scrollView上,讓后在每次加載cell的時候,設置scrollView的高度為頁面的高度(最主要的就是不能將WKWebView直接放在cell上

2》其它的設置不變

3》結論:\加載顯示。

PS: (目前發現只有在iOS 10以上系統 會出現問題 有誰知道更好的解決辦法或者別的  歡迎留言  )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM