首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据html内容设置UIWebView的高度?

如何根据html内容设置UIWebView的高度?
EN

Stack Overflow用户
提问于 2012-10-16 20:37:21
回答 5查看 20.9K关注 0票数 17

我想设置基于超文本标记语言内容的UIWebview高度。我得到了字符串的大小,但由于段落、粗体、不同的字体大小等原因,我没有得到实际的大小。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 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的委托设置为这个类)。

票数 13
EN

Stack Overflow用户

发布于 2013-08-08 19:33:09

每个web视图都有一个内置的UIScrollView,所以我会尝试等待页面加载,然后点击滚动视图的contentSize属性来获取页面的高度。

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    CGFloat height = webView.scrollView.contentSize.height;
}
票数 8
EN

Stack Overflow用户

发布于 2012-10-16 20:58:49

试试这段代码

- (void)webViewDidFinishLoad:(UIWebView *)webView
{     
    height= [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12914898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档