计算UITableView的contentSize

使用Masonry或者SnapKit布局时,获取UITableView的contentSize,布局的时候先给tableview一个高度,[tableview reload ]之后调用tableview layoutIfNeeded此时就可以打印contentSize

[tableview reloadData];
[tableview layoutIfNeeded];
CGFloat height = tableview.contentSize.height;
NSLog(@"内容的高度%f",tableview.contentSize.height);

如果没有获取可以放在主线程中,[tableview reloadData]是在主线中执行

[self.tableView reloadData];

dispatch_async(dispatch_get_main_queue(), ^{ 

 [tableview layoutIfNeeded];
CGFloat height = tableview.contentSize.height;
NSLog(@"内容的高度%f",tableview.contentSize.height);

});
如果不准确的话 可以加上这个试试tableview.estimatedRowHeight = 0

你可能感兴趣的:(计算UITableView的contentSize)