如何垂直增长场景以显示HTML内容?

时间:2012-10-16 14:42:01

标签: objective-c ios cocoa-touch

我正在尝试在UIScrollView中创建一个包含许多布局元素的场景,包括一个具有任意数量的简单HTML内容的场景 - 通常大约4-30行。

如果我只是将内容扔到UIWebView中,那么它将在固定高度的框中滚动webview内容。那不是我想要的;由于整个页面滚动,我希望页面长度增长以适应HTML内容(无论它有多高或多短),所以只有页面滚动,没有UIWebView滚动。

我需要适用于iOS5和iOS6的解决方案。

1 个答案:

答案 0 :(得分:0)

没有完全 clean 的方法来做到这一点。问题是你是否真的 使用HTML。

如果这样做,您可以执行以下操作来计算UIWebView的高度:

在Web视图完成加载后,实现UIWebViewDelegate协议并执行一些JavaScript代码:

- (void)webViewDidFinishLoad:(UIWebView *)someWebView
{
    NSString *heightAsString = [someWebView stringByEvaluatingJavaScriptFromString:@"document.body.clientHeight;"];
    if(heightAsString) {
        NSInteger webViewHeight = heightAsString.integerValue;
    }
}

之后,您可以调整UIWebView框架的大小,并相应地在UIScrollView中布局其他子视图。