在自定义cell中有webview,tableView的高度必须根据webview显示的高度来决定!
计算出来webview的高度以后,
在webviewdidfinishload 方法里面调用[_tableView beginUpdates];[_tableView endUpdates];进行tableview高度刷新就可以了。
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect frame = webView.frame;
frame.size = [webView sizeThatFits:CGSizeZero];
frame.size.height += 20.0f; // 额外的填充使其可以加载到底部
webView.frame = frame;
webView.delegate = nil;
UITableViewCell *cell =[_cells objectAtIndex:webView.tag];
[cell.contentView addSubview:_loadingWebView];
cell.contentView.frame = frame;
[cell setNeedsLayout];
webView.alpha = 1.0f;
[self.tableView beginUpdates];
NSArray *paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:webView.tag]];
[self.tableView insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
_loadingWebView = nil;
}
网友评论