WebView根据加载的内容来控制其高度
一、先设置WebView的高度为0,然后在其加载结束后的代理方法中根据contentSize设置其高度
//初始话一个UIWebView: self.webView = [[[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 0)] autorelease];(这里需要注意的一点是,frame的高度一定要设置为0,方便后面动态设置高度); //设置UIWebView的delegate:self.webView=self(这个就不多说了) //实现UIWebView 的代理方法webViewDidFinishLoad: - (void)webViewDidFinishLoad:(UIWebView *)webView{ CGRect rect= webView.frame; rect.size.height=webView.scrollView.contentSize.height;(此方法是将webView.scrollView的contentSize的高度赋给webView的高度,所以之前在初始化webView的时候将webView的默认高度设置为0意义就在于此,这样contentSize.height就是内容的高度了) NSLog(@"-----%f",webView.scrollView.contentSize.height); webView.frame=rect; }
二、通过系统方法获取其内容高度
CGFloat scrollHeight = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];