我想设置基于超文本标记语言内容的UIWebview高度。我得到了字符串的大小,但由于段落、粗体、不同的字体大小等原因,我没有得到实际的大小。
发布于 2012-10-16 20:41:39
我通常使用以下方法来设置UIWebview
frame的内容大小:
- (void)webViewDidStartLoad:(UIWebView *)webView {
CGRect frame = webView.frame;
frame.size.height = 5.0f;
webView.frame = frame;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGSize mWebViewTextSize = [webView sizeThatFits:CGSizeMake(1.0f, 1.0f)]; // Pass about any size
CGRect mWebViewFrame = webView.frame;
mWebViewFrame.size.height = mWebViewTextSize.height;
webView.frame = mWebViewFrame;
//Disable bouncing in webview
for (id subview in webView.subviews) {
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
[subview setBounces:NO];
}
}
}
当WebView
加载完它的内容时,它们会被自动调用(如果你将webView
的委托设置为这个类)。
发布于 2013-08-08 19:33:09
每个web视图都有一个内置的UIScrollView,所以我会尝试等待页面加载,然后点击滚动视图的contentSize属性来获取页面的高度。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat height = webView.scrollView.contentSize.height;
}
发布于 2012-10-16 20:58:49
试试这段代码
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
height= [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
}
https://stackoverflow.com/questions/12914898
复制相似问题