UIWebView:动态重新加载html时计算webview正文内容的高度?

时间:2011-10-13 05:20:38

标签: iphone uiwebview

当我调用and loadHTMLString来加载UIWebView中的内容,并在didFinishLoad()方法中计算webview内容的高度时,它给出了高度h,但是如果我再次用其他HTML重新加载它,它就不会返回精确的高度如果内容小于以前的内容,但通过一次又一次重新加载,它会将其高度降低12 px并达到其确切高度。

但如果新内容内容高度大于之前的内容高度,则会成功计算。

有谁知道为什么会发生这种情况的根本原因?如果是,请帮助。

1 个答案:

答案 0 :(得分:4)

这就是我的所作所为,尽管在我的案例中,我的网页浏览量在uitableview中。

- (void)webViewDidFinishLoad:(UIWebView *)webview{
    float webHeight;
    CGRect frame = webview.frame;
    frame.size.height = 1;
    webview.frame = frame;
    CGSize fittingSize = [webview sizeThatFits:CGSizeZero];
    frame.size = fittingSize;
    webview.frame = frame;
    webHeight=fittingSize.height;
    rowHt=webHeight;
    [aTableView reloadData];
}

每次重新加载webview时都会调用此委托方法。在这里,我再次将帧大小设置为新值。再次,因为我说我在一个tableview中有我的webview所以我调用reloadData方法。但这个对我来说很有用....