在我的应用程序中,tableview具有不同高度的不同类型的自定义单元格。我想在这个tableView下面放一个视图,为此我需要计算表contentView的高度,我该怎么做呢?
早些时候我曾经这样做过:( noOfRows * cell_height),但那是静态高度。
提前完成。
答案 0 :(得分:20)
UITableView是UIScrollView的子类,因此您可以在tableview上使用实例方法contentSize:
yourtableView.contentSize.height
应该为您提供tableview内容视图的高度
答案 1 :(得分:11)
这是一个老问题,但今天我用这个解决了我的问题
Defines Module
答案 2 :(得分:4)
我在viewDidLayoutSubviews()中有内容视图控制器的calc高度。为我工作(表视图自动单元尺寸);
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews();
let height = table.contentSize.height+table.contentInset.bottom+table.contentInset.top
preferredContentSize = CGSize(width: 305, height: height);
}
答案 3 :(得分:1)
该部分的页眉和页脚未考虑在表格的高度,请考虑
CGSize sz = self.table.contentSize;
sz.height += self.table.contentInset.bottom +
self.table.contentInset.top +
self.table.numberOfSections * self.table.sectionHeaderHeight;
答案 4 :(得分:0)
我能想到的最简单的方法是将您的视图设置为表tableFooterView
答案 5 :(得分:0)
我认为你要找的是self.view.bounds.size.height
。
结帐Oliver Drobnik's detailed post on creating a pull-to-reload table view。在他的情况下,它更容易,因为视图位于顶部,因此他检查负内容偏移。
如果您想在底部,可以查看scrollView.contentOffset.y > (self.view.bounds.size.height + pullToReloadViewHeight)
答案 6 :(得分:-3)
如果您已经实现了自己的自定义单元格,那么您可能已经在表委托中实现了此功能:
- (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath
只需遍历行,为每个行调用此函数,并总结结果。