当我调用and loadHTMLString来加载UIWebView中的内容,并在didFinishLoad()方法中计算webview内容的高度时,它给出了高度h,但是如果我再次用其他HTML重新加载它,它就不会返回精确的高度如果内容小于以前的内容,但通过一次又一次重新加载,它会将其高度降低12 px并达到其确切高度。
但如果新内容内容高度大于之前的内容高度,则会成功计算。
有谁知道为什么会发生这种情况的根本原因?如果是,请帮助。
答案 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方法。但这个对我来说很有用....