在表格单元里面嵌套一个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;
}