表格视图单元格高度动态 + 从 .xib 加载
Posted
技术标签:
【中文标题】表格视图单元格高度动态 + 从 .xib 加载【英文标题】:Table View Cell Height Dynamically + load from .xib 【发布时间】:2015-05-18 06:56:47 【问题描述】:我正在使用UITableView
和几个自定义单元格。每个单元格都有自己的高度(单元格包括UICollectionView
、UITableView
和更多的自定义UIView
)。
除此之外,海关单元(全部)从.xib
加载。
基本上,单元格高度应该由模型(mvc)确定,或者是static
。
在我的情况下,我可以在实例化每个单元格后确定单元格的高度,例如 loadNibNamed:owner:options:
或 dequeueReusableCellWithIdentifier:forIndexPath:
(我不关心重用,这不是重点),因为我需要充气单元格的内容。
据我所知,UITableViewDelegate
和 UITableViewDataSource
的方法调用没有记录,因此我不需要考虑它们的调用顺序。
如何确定单元格的高度无需实例化?并且没有Magic numbers
。
【问题讨论】:
根据您的问题,您的意思是要在运行时确定单元格的高度吗? @Vizllx,是的,我的单元格的高度取决于网络响应。 【参考方案1】:您需要根据您的模型在以下 UITableViewDelegate 方法中计算行高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
如果您的身高计算基于网络响应,请在收到响应时更新您的数据模型并调用 [self.tableView reloadData]
【讨论】:
感谢您的打扰,但请再次阅读我的问题。而且我知道UIItableView
如何处理静态高度。我问的是动态的。
如果您的身高计算是基于网络响应,请在收到响应时更新您的数据模型并调用 [self.tableView reloadData]
你在这里提供的是糟糕的性能。 reloadData
在这里对我不好。
reloadRowsAtIndexPaths 可能对你很方便......如果你也想要性能......
同样的问题 m8。我无法重新加载单元格,我不会解决我的问题。需要找到更聪明的方法来处理这个问题。以上是关于表格视图单元格高度动态 + 从 .xib 加载的主要内容,如果未能解决你的问题,请参考以下文章