1

我在 View 中添加 UIWebView,在 ScrollView 中添加该视图。

我想获取 UIWebView 内容的框架。那么我可以将框架设置为查看和滚动视图吗?

我知道我们可以通过使用 javascript 来获得高度。如下所述:

float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue];

但是当我在didRotateFromInterfaceOrientation::(UIInterfaceOrientation)fromInterfaceOrientation方法中旋转视图并重新计算 UIWebView 内容的高度时,内容高度增加了。

所以请建议我在旋转方向时如何获得合适的高度?

谢谢。

4

2 回答 2

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
}

希望有所帮助:)

于 2012-08-23T07:57:47.810 回答
0

确保在加载所有内容后检索高度。

UIWebView您可以在委托方法中添加一个计算高度的方法

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue];
}
于 2012-09-24T07:35:29.520 回答