我尝试使用 UIWebView
显示高于 iPhone 屏幕的内容,而不需要在 UIWebView
本身中滚动。
UIWebView
被放置为 UIScrollView
的 subview ,以及我希望 UIScrollView
上下滚动的一些其他对象与 UIWebView
。
我知道你可以使用 UITextView
来做到这一点,如下所示:
CGRect frame = _textView.frame; frame.size.height = _textView.contentSize.height; _textView.frame = frame;
但是 UIWebView
不是从 UIScrollView
继承的,因此不包含 contentSize
属性。
我真的很想将其保留为 UIWebView
,因为我获取的数据位于 HTML block 中。
谢谢!
最佳答案
事实上,不需要Javascript! 在UIView中有一个很好的方法:
- (CGSize)sizeThatFits:(CGSize)size
你向它传递任何东西(在这里没有真正的意义),它会返回它想要的大小,使用它的内容( subview 等)来计算大小。
当然,由于 UIWebView 中的内容加载是异步的,因此您应该在 Webview 加载后执行此操作,例如在 UIWebViewDelegate 方法中:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGSize size = [webView sizeThatFits: CGSizeMake(1.0f, 1.0f)]; // Pass about any size
CGRect frame = webView.frame;
frame.size.height = size.height;
webView.frame = frame;
}
瞧瞧!
关于iphone - UIWebView - 自动调整大小,以便不需要滚动(在 webView 本身中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978042/