(Objective-C) 精准计算UITableView.contentSize.height

- (int)calculateExactTableViewHeight {
    [self.tableView reloadData];
    [self.tableView layoutIfNeeded];
    
    CGFloat totalHeight = 0;
    NSInteger sectionCount = self.tableView.numberOfSections;
    
    for (NSInteger section = 0; section < sectionCount; section++) {
        NSInteger rowCount = [self.tableView numberOfRowsInSection:section];
        
        for (NSInteger row = 0; row < rowCount; row++) {
            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section];
            CGRect rowRect = [self.tableView rectForRowAtIndexPath:indexPath];
            totalHeight += CGRectGetHeight(rowRect);
        }
        
        CGRect headerRect = [self.tableView rectForHeaderInSection:section];
        CGRect footerRect = [self.tableView rectForFooterInSection:section];
        totalHeight += CGRectGetHeight(headerRect) + CGRectGetHeight(footerRect);
    }
    
    return ceilf(totalHeight);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容