我在View中添加UIWebView,在ScrollView中添加该视图。
我想获得UIWebView内容的框架。那么我可以设置框架来查看和滚动查看吗?
我知道我们可以通过使用javascript获得高度。如下所述:
float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue];
但是当我在didRotateFromInterfaceOrientation::(UIInterfaceOrientation)fromInterfaceOrientation
方法中旋转视图并重新计算UIWebView内容的高度时,内容高度就会增加。
所以请建议我在旋转方向时如何获得合适的高度?
感谢。
答案 0 :(得分:5)
采用这种方法:
- (void) webViewDidFinishLoad:(UIWebView *)webView{
CGRect frame = wvContent.frame;
CGSize fittingSize = [wvContent sizeThatFits:CGSizeZero];
frame.size = fittingSize;
wvContent.frame = frame;
}
每次设备旋转时调用此方法:
- (void) reloadContent
{
CGRect frame = wvContent.frame;
frame.size.height = 1;
frame.size.width = wvContent.frame.size.width; // you should change webview's width here.
wvContent.frame = frame;
[wvContent loadHTMLString:yourHTML baseURL:nil]; // reload webview
}
希望有所帮助:)
答案 1 :(得分:0)
确保在加载所有内容时检索高度。
您可以在UIWebView
的委托方法
- (void)webViewDidFinishLoad:(UIWebView *)webView{
float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue];
}