UIWebView的内容高度不正确

时间:2014-05-29 21:24:48

标签: javascript ios iphone uiwebview

我正在尝试调整UIWebView的大小,以使其适合所加载页面的全部内容。为此,我获取webview的scrollview的内容高度,并将webview的高度设置为该值。

对于内容高度超过200的任何内容,此工作正常,视图可以缩放到完全适合页面而没有任何额外空间。但是当高度低于200的内容时,webview似乎达到了某种高度,而webView.scrollView.contentSize.height将不会返回200以下的任何值。我留下了大量的空白。

这个主题有很多帖子,但似乎都没有涉及这个特定问题。当该值低于200时,返回实际内容高度的最佳方法是什么?

编辑:这是一个HTML应该渲染很短的例子,但结果是200pt高。

<meta name='viewport' content='width=device-width, user-scalable=yes'>
<html>
<head></head>
<body style='font-family:Helvetica neue; font-size:1.0em; color:#181818; -webkit-font-smoothing: antialiased;'><div>
Here's some example content.
<br/></div>
</body>

2 个答案:

答案 0 :(得分:1)

请确保您的HTMLBODY代码具有min-heightheight css样式。 然后,你应该使用JavaScript获取高度。获取实际高度,而不是可滚动大小,这是某种未知的UIWebView决定。

所以[[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.offsetHeight"] floatValue]会这样做。

答案 1 :(得分:0)

我遇到了类似的问题,我使用javascript调用来获取内容高度并将Web视图的高度设置为该值,但568似乎是这些方法返回给我的最小值。我最终必须先将网页视图的高度设置为1,然后将高度设置为javascript调用的结果。