设置UIWebView宽度&高度

时间:2010-05-21 04:32:20

标签: iphone uiwebview

我需要调整UIWebView的高度和宽度,以便在视图中显示整个文本,用户无需滚动即可阅读文本。

有没有人知道如何获得它?

3 个答案:

答案 0 :(得分:8)

webView.scalesPageToFit = YES;

另请参阅:UIWebView+SFHFStringMetrics

答案 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.heightwindow.width,并使用JavaScript调整内容以适应UIWebView的各个方面。

答案 2 :(得分:1)

UIWebView没有关于调整大小以适应内容的特殊规定。您可以将scalesPageToFit属性设置为YES以缩小内容,或者可以使视图足够大以适合大多数合理大小的页面。我从你的问题推断出你正在显示你可以控制的内容。如果没有,我不确定是否有一种简单的编程方式来实现您想要的目标。