我使用一个UITableView
和几个自定义单元格。每个细胞都有自己的高度(细胞包括UICollectionView
, UITableView
和一些更常见的UIView
)。除此之外,custom cell(所有的cell)都是从.xib
加载的。
基本上,单元格高度应该从模型(mvc)或static
确定。
在我的情况下,我可以确定单元格的高度后,我实例化每一个,即loadNibNamed:owner:options:
或dequeueReusableCellWithIdentifier:forIndexPath:
(我不关心重用,这不是重点在这里),因为我需要膨胀单元格的内容。
据我所知,UITableViewDelegate
和UITableViewDataSource
的方法调用没有记录,因此我不需要考虑它们的调用顺序。
我如何确定单元格的高度没有实例化它?没有Magic numbers
您需要根据您的模型在以下UITableViewDelegate方法中计算行高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
如果你的高度计算是基于网络响应,当收到响应时更新你的数据模型并调用[self]。tableView reloadData]