在表格单元里面嵌套一个UIWebview是可以使用懒加载的

2017-10-27  本文已影响11人  nadou23

首先懒加载的方式

-(UIWebView *)webContent{
    if (!_webContent) {
        _webContent = [[UIWebView alloc] init];
        _webContent.scrollView.showsVerticalScrollIndicator = NO;
        _webContent.scrollView.showsHorizontalScrollIndicator = NO;
        _webContent.scrollView.bounces = NO;
        _webContent.delegate = self;
        _webContent.scrollView.scrollEnabled = NO;
    }
    return _webContent;
}

再实现代理方法和定义一个block回调webView内容高度

-(void)webViewDidFinishLoad:(UIWebView *)webView{

        if (_changeHeightCallBack) {
            _changeHeightCallBack(webView.scrollView.contentSize.height);
        }
}

最后在控制器里设置属性

/**
 简介变动高度
 */
@property (nonatomic,assign) float   jieshaoNotesHeight;

给默认值

 _jieshaoNotesHeight = 60;

接着就是实现表格代理方法

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return _jieshaoNotesHeight;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    __weak typeof(self)_self = self;

  _jianjieCell =[tableView dequeueReusableCellWithIdentifier:kFemousDoctorDetailCell2Id];
             _jianjieCell.htmlContent = self.model.detail;
            _jianjieCell.changeHeightCallBack = ^(float height){
                _self.jieshaoNotesHeight = height;
                dispatch_async(dispatch_get_main_queue(), ^{
                [_self.tableView reloadData];
                });
            };
               _jianjieCell.title.text = @"简介";
            return _jianjieCell;
    
}
上一篇下一篇

猜你喜欢

热点阅读