我已经坚持了几个小时了。我正在尝试根据 UIWebView 的内容大小动态调整其大小。我的问题是,当我在 iPhone 5 上运行我的应用程序时,一切正常,但在 iPhone 4(和模拟器 - 3.5 英寸)上我没有得到相同的行为。
- (void)webViewDidFinishLoad:(UIWebView *)webview {
CGFloat height = webview.scrollView.contentSize.height;
_descriptionHeight = height;
self.webView.scrollView.scrollEnabled = NO;
self.webView.scrollView.bounces = NO;
}
使用我的这个版本的代码,在 iPhone 4 上,height
无论内容是什么,它总是等于 0。我还尝试使用 JS 计算它
[[webview stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue]
但在这种情况下,返回值始终为 480(即屏幕高度)。
这两种方法在 iPhone 5 上都可以正常工作,问题只在 iPhone 4 上(都运行 iOS6)。
有任何想法吗?
编辑: 我设法找到了重现问题的方法。我有一个包含一个部分的表格视图,8 个静态单元格。我的 webview 在第 4 个单元格内(从顶部开始,行 = 3)。如果我将单元格移动到第一个位置(行 = 0),一切正常。如果我将它移回第四个位置,我可以重现我的问题。大家觉得可能是什么。UITableView 中的错误?