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;
  
        
    });
    
    
}

你可能感兴趣的:(tableView底部添加自适应高度的webView)