- (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;
}
网友评论