1. 程式人生 > >計算UIWebView載入網頁的內容高度

計算UIWebView載入網頁的內容高度

計算高度我們總會遇到計算不準確的情況,而且載入網頁的時候儘量避免在block內部載入。至於為什麼暫時沒有找到完整的答案。
計算高度 無非就是在UIWebView的載入完成的代理裡面實現
有時候會出現計算偏差的問題 ,可以酌情加入迴圈獲取。將獲取的最新高度設定給UIWebView.我們常見的場景是在UITableView中載入網頁,或者在Header,或者在Cell大同小異。下面是方法
當然 這需要跟後臺的配合,與後臺給的頁面是有關係的
下面是在cell中獲取的網頁高度,然後通過代理將高度設定給cell的行高(當然方法很多種,block,通知(不建議用通知)
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat height = [[self.webView stringByEvaluatingJavaScriptFromString:@”document.body.scrollHeight”] floatValue]; (方法之一)
CGFloat height = [[self.webView stringByEvaluatingJavaScriptFromString:@”document.body.offsetHeight”] floatValue]; (方法之二)
[self.webView setFrame:CGRectMake(0, 0, kWidth,height)];
if ([self.delegate respondsToSelector:@selector(webViewDidFinishLoaded:)]) {
[self.delegate webViewDidFinishLoaded:height];
}
}