我需要调整UIWebView的高度和宽度,以便在视图中显示整个文本,用户无需滚动即可阅读文本。
有没有人知道如何获得它?
答案 0 :(得分:8)
webView.scalesPageToFit = YES;
答案 1 :(得分:4)
希望这会指出你正确的方向。
通过调用stringByEvaluatingJavaScriptFromString:
上的UIWebView
方法,您可以在UIWebView
中的应用程序中执行JavaScript。
// get the height of your content
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"];
// get the width of your content
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"];
上面将返回一个NSString对象,其中包含您传递给getElementById
函数的任何元素的宽度和高度。有了这些信息,您应该能够调整UIWebView的大小以适应您的内容。一个例子:
CGRect frame = webView.frame;
frame.size.width = 100;
webView.frame = frame;
您可能还需要重新设置scalesPageToFit
以使内容重新调整为新的帧大小。
另一种选择是检测HTML端的window.height
和window.width
,并使用JavaScript调整内容以适应UIWebView的各个方面。
答案 2 :(得分:1)
UIWebView
没有关于调整大小以适应内容的特殊规定。您可以将scalesPageToFit
属性设置为YES
以缩小内容,或者可以使视图足够大以适合大多数合理大小的页面。我从你的问题推断出你正在显示你可以控制的内容。如果没有,我不确定是否有一种简单的编程方式来实现您想要的目标。