UITableViewCell:原型单元格的自定义行高

时间:2012-08-16 14:26:20

标签: xcode uitableview row-height

在我的故事板文件中,我在UITableView中设计了多个原型单元。每个单元都有自己独特的单元标识符。

取决于部分和行,我将方法中的一个原型单元格取消 - tableView:cellForRowAtIndexPath:

对于大多数原型细胞,我没有改变行高。在我的故事板上,它们的高度似乎取决于UITableView的“尺寸检查器”下的“行高”属性。

对于一个原型单元格,我通过特定UITableViewCell的“Size Inspector”下的“Row Height”属性更改了高度。还会选中“自定义”复选框。

在我的故事板上,这似乎运作良好。但是在运行时,当我的单元格出列并添加到TableView时,所有单元格都会获得默认的行高。

现在,我知道方法tableView:heightForRowAtIndexPath:这在其他帖子中有提及,但由于我在故事板中设置了自定义行高,所以使用它似乎有点奇怪。

有人知道为什么这个属性不起作用吗?这个属性是否可以在不同情况下使用?

由于

2 个答案:

答案 0 :(得分:18)

如果你想在Xcode 5中使用Interface Builder来改变表格视图中没有代码的行的高度,你可以在两个地方进行:

  • 选择表格视图,显示尺寸检查器并输入 行高,位于表视图大小部分。

Default row height

  • 选择原型单元格,显示尺寸检查器,在表视图尺寸部分中选中自定义,然后在关联中键入行高文字字段。

Custom row height

你是否正在使用第二种方法?尝试使用第一种方法设置表视图中所有行的默认高度,第二种方法告诉Interface Builder有关异常的信息。

答案 1 :(得分:16)

在显示单元格之前,即在heightForRowAtIndexPath被调用之前,

cellForRowAtIndexPath被调用(对于表的每一行)。这对于计算底层滚动视图的布局,滚动指示符等是必要的。