使用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
网友评论