如何从 nib 文件加载 UITableViewCell 高度?

Posted

技术标签:

【中文标题】如何从 nib 文件加载 UITableViewCell 高度?【英文标题】:How to load UITableViewCell height from a nib file? 【发布时间】:2010-08-23 14:40:23 【问题描述】:

我正在阅读来自 Apple 的 TableView_iPhone tutorial,我正在尝试使用“静态行内容技术”技术来使用 NIB 文件中的单元格填充 TableView

在本教程中,NIB 文件具有不同的高度,TableView 可以正确显示它们。当我从tableView:cellForRowAtIndexPath: 返回UITableViewCell 时,NIB 文件中单元格的高度不会被采用,并且所有单元格的高度都相同。

TableView 是否可以自动检索高度?还是我在教程中遗漏了什么? 实施tableView:heightForRowAtIndexPath: 是唯一的出路吗?

【问题讨论】:

【参考方案1】:

是的,您需要实现 heightForRowAtIndexPath。调用它来快速计算行的高度,而无需创建它们。 因此,您不应在该 heightForRowAtIndexPath 中执行任何耗时的操作。

【讨论】:

【参考方案2】:

我在 UITableViewController 中使用的示例实现:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

    return 70.0;

【讨论】:

【参考方案3】:

您也可以通过 nib 文件(xib)增加或减少单元格的高度。下图将为您提供所需的信息

否则

你也可以使用下面的方法

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

【讨论】:

以上是关于如何从 nib 文件加载 UITableViewCell 高度?的主要内容,如果未能解决你的问题,请参考以下文章

Interface Builder:如何从 nib 文件加载视图

从 nib 文件加载

如何显示从单独的 NIB 文件加载的子视图

无法从主包中按名称加载 Nib 文件

从 nib 文件加载 UIView?

xcassets 中的所有图像,然后如何加载从我的包中的 nib 引用的图像