tableView底部添加自适应高度的webView

tableview 下面添加自适应高度的网页,有两个选择:1、tableFooterView 设置为webView
2、tableVIewcell中添加webView。
这里觉得tableFooterVIew 更合适,思路如下:

  1. 加载tableview 数据的时候,初始化webView:
-(void)creatWebView{
self.webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 0.1)];
    
    //禁止webview滚动
    UIScrollView *tempView = (UIScrollView *)[self.webView.subviews objectAtIndex:0];
    tempView.scrollEnabled = NO;
    self.webView.scalesPageToFit = NO;  //禁止用户缩放页面

 [self LoadwebDataWithUrl:self.webURL whichView:self.webView];
}
  1. 加载webView 的页面数据:
-(void)LoadwebDataWithUrl:(NSString *)webURL whichView:(UIWebView *)webView{

    if (![webURL isEqual:[NSNull null]]&& webURL!=nil&&webURL.length>0) {
        NSURL *url=[[NSURL alloc] initWithString:webURL];
        webView.delegate = self;
        
        [webView loadRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5.f]];
    }
    
    
}


  1. 在webView 的代理方法中,设定tableFooterView 为webVIew
-(void)webViewDidFinishLoad:(UIWebView *)webView{
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//延迟0.3秒执行代码
        [webView sizeToFit];

        //获取到webview的高度
        CGFloat webViewHeight1 = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];

        self.webView.frame = CGRectMake(0, 0, SCREEN_WIDTH, webViewHeight1);
        self.tableView.tableFooterView = self.webView;
  
        
    });
    
    
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,170评论 1 32
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,815评论 1 9
  • 一、简介 <<UITableView(或简单地说,表视图)的一个实例是用于显示和编辑分层列出的信息的一种手段 <<...
    无邪8阅读 10,785评论 3 3
  • 版权声明:未经本人允许,禁止转载. 1. TableView初始化 1.UITableView有两种风格:UITa...
    萧雪痕阅读 2,922评论 2 10
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,772评论 2 7