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

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

    -(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高度

    -(void)webViewDidFinishLoad:(UIWebView *)webView{
        
        CGFloat webViewHeight = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];
        
        CGRect newFrame = webView.frame;
        newFrame.size.height = webViewHeight;
        webView.frame = newFrame;
    }

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

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

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

    -(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 的高度
                }
            }
        }
    }
  • 相关阅读:
    ROS编程中使用rosed编写代码
    ROS中.launch文件的remap标签详解
    Ubuntu下网易云音乐无法联网的解决办法
    双舵轮AGV里程计、运动控制核心算法
    PID参数调整的口诀
    altium designer生成gerber步骤
    SLAM FOR DUMMIES 第5-8章 中文翻译
    SLAM for Dummies SLAM初学者教程 中文翻译 1到4章
    有关ros::spin()和ros::spinonce()若干感受
    ROS,launch学习
  • 原文地址:https://www.cnblogs.com/anyezhuixing/p/4866937.html
Copyright © 2011-2022 走看看