zoukankan      html  css  js  c++  java
  • ios webview自适应实际内容高度4种方法

    ios webview自适应实际内容高度4种方法


     

    方法1:获取webview中scrovllview的contentsize进行设置

     
    1
    2
    3
    4
    5
    6
    -(void)webViewDidFinishLoad:(UIWebView *)webView{
        CGFloat webViewHeight=[webView.scrollView contentSize].height;
        CGRect newFrame = webView.frame;
        newFrame.size.height = webViewHeight;
        webView.frame = newFrame;
    }

    方法2:执行js语句 直接获取html文档的dom高度

     
    1
    2
    3
    4
    5
    6
    7
    -(void)webViewDidFinishLoad:(UIWebView *)webView{
        CGFloat webViewHeight= [[webView stringByEvaluatingJavaScriptFromString: @"document.body.offsetHeight"]floatValue];
    // CGFloat webViewHeight= [[webView stringByEvaluatingJavaScriptFromString: @"document.body.scrollHeight"]floatValue];
        CGRect newFrame = webView.frame;
        newFrame.size.height = webViewHeight;
        webView.frame = newFrame;
    }

    方法3.先将UIWebView的高度设为最小,然后再使用sizeThatFits就会返回刚好合适的大小

     
    1
    2
    3
    4
    5
    6
    -(void)webViewDidFinishLoad:(UIWebView *)webView{
        CGSize actualSize = [webView sizeThatFits:CGSizeZero];
        CGRect newFrame = webView.frame;
        newFrame.size.height = actualSize.height;
        webView.frame = newFrame;
    }

    方法4.遍历webview子视图 获取UIWebDocumentView高度即实际高度

     
     
     
     
     
    Objective-C
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    -(void)webViewDidFinishLoad:(UIWebView *)webView{
        CGFloat webViewHeight = 0.0f;
        if ([webView.subviews count] > 0)
        {
            UIView *scrollerView = webView.subviews[0];
            if ([scrollerView.subviews count] > 0)
            {
                UIView *webDocView = scrollerView.subviews.lastObject;
                if ([webDocView isKindOfClass:[NSClassFromString(@"UIWebDocumentView") class]])
                {
                    webViewHeight = webDocView.frame.size.height;//获取文档的高度
                    webView.frame= webDocView.frame; //更新UIWebView 的高度
                }
            }
        }
    }
    感谢您的访问! 若对您有帮助或有兴趣请关注博客:http://www.cnblogs.com/Rong-Shengcom/
  • 相关阅读:
    Windows SDK 之 mciSendString最后一个参数
    java常用包下载地址(非maven)
    windows api(GDI)实现图片旋转
    windows sdk版本 之 并查集生成迷宫
    自签https证书2(适配新版chrome,不会显示“不安全”)
    数据结构——栈(Stacks)
    数据结构——表(list)
    数据结构——链表(linkedlist)
    解题报告1010 诡秘的余数
    函数体中用指针返回数组的方法
  • 原文地址:https://www.cnblogs.com/Rong-Shengcom/p/5431475.html
Copyright © 2011-2022 走看看