- (void)webViewDidFinishLoad:(UIWebView *)webView{
float newSize = [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
CGRect rect=CGRectMake(0,0, self.frame.size.width, newSize);
self.webView.frame=rect;
}
使用這句代碼獲取網頁的高度,后來發現獲取的高度會比實際的高度多一點
出現原因:webView在初始化的時候沒有設置frame,直接用alloc init的方法去做的初始化,光想著獲取完高度后去重新設置frame,這里就導致了獲取到的高度不準確!
解決方法:初始化的時候,給webView設置frame,寬度為屏幕的寬度,高度設置為1即可!
- (UIWebView *)webView{
if (!_webView) {
_webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.frame.size.width, 1)];
_webView.scrollView.scrollEnabled=NO;
[_webView setScalesPageToFit:YES];
_webView.delegate=self;
}
return _webView;
}