我需要调整UIWebView的高度和宽度,以便整个文本都在视图内显示,用户无需滚动即可阅读文本。
有人知道如何实现吗?
webView.scalesPageToFit = YES;
(该链接为相关技术内容)UIWebView
上调用stringByEvaluatingJavaScriptFromString:
方法,您可以在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的方面。
UIWebView
没有特殊的规定来调整大小以适应内容。您可以将 scalesPageToFit
属性设置为 YES
以缩小内容,或者您可以使视图足够大以适应大多数合理大小的页面。我从您的问题中推断出您正在显示自己控制的内容。如果不是这样,我不确定是否有一种简单的编程方法来实现您想要的效果。