我有一个占据大部分视图的UITableView。 我想根据从我的数据库收集的行数动态设置行高。 选择UITableView时,尺寸选择器表示高度为504.
如何在代码中获得该值?在填充行之前需要该值。
答案 0 :(得分:2)
为UITableView
创建一个属性,例如:
// IBOutlet optional; you could be making the UITableView in code
@property (strong, nonatomic) IBOutlet UITableView *tableView;
然后,得到这样的高度:
CGFloat height = self.tableView.frame.size.height;
在UITableView
数据源协议实现中,执行以下操作:
- (CGFloat) tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath {
int numberOfRows = // some way to figure this out
// (or maybe it's already determined)
CGFloat height = self.tableView.frame.size.height;
return height / numberOfRows; // or whatever your desired equation is
}
只要您的数据更新,对[self.tableView reloadData]
的调用就会强制刷新。