我试图在 UIScrollView 中有一个场景,其中包含许多布局元素,包括一个具有任意数量的简单 HTML 内容的场景——通常约为 4-30 行。
如果我只是将内容扔到 UIWebView 中,那么它将在固定高度的框中滚动 webview 内容。那不是我想要的;由于整个页面滚动,我希望页面的长度增加以适应 HTML 内容(无论它有多高或多短),所以只有页面滚动,而 UIWebView 也不滚动。
我需要适用于 iOS5 和 iOS6 的解决方案。
我试图在 UIScrollView 中有一个场景,其中包含许多布局元素,包括一个具有任意数量的简单 HTML 内容的场景——通常约为 4-30 行。
如果我只是将内容扔到 UIWebView 中,那么它将在固定高度的框中滚动 webview 内容。那不是我想要的;由于整个页面滚动,我希望页面的长度增加以适应 HTML 内容(无论它有多高或多短),所以只有页面滚动,而 UIWebView 也不滚动。
我需要适用于 iOS5 和 iOS6 的解决方案。
没有完全干净的方法可以做到这一点。问题是您是否真的必须使用 HTML。
如果这样做,您可以执行以下操作来计算您的高度UIWebView
:
实现UIWebViewDelegate
协议并在 Web 视图完成加载后执行一些 JavaScript 代码:
- (void)webViewDidFinishLoad:(UIWebView *)someWebView
{
NSString *heightAsString = [someWebView stringByEvaluatingJavaScriptFromString:@"document.body.clientHeight;"];
if(heightAsString) {
NSInteger webViewHeight = heightAsString.integerValue;
}
}
之后,您可以调整UIWebView
框架的大小并相应地布局其他子视图UIScrollView
。