22

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

根据部分和行,我将方法中的一个原型单元格出列 - tableView:cellForRowAtIndexPath:

对于大多数原型单元格,我没有更改行高。在我的故事板上,它们的高度似乎由 UITableView 的“大小检查器”下的属性“行高”确定。

对于一个原型单元格,我通过特定 UITableViewCell 的“大小检查器”下的属性“行高”更改了高度。复选框“自定义”也被选中。

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

现在,我知道其他帖子中提到的 tableView:heightForRowAtIndexPath: 方法,但使用起来似乎有点奇怪,因为我已经在我的故事板中设置了自定义行高。

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

谢谢

4

2 回答 2

19

如果你想在 Xcode 5 中使用 Interface Builder 来改变表格视图中行的高度而不需要代码,你可以在两个地方做到这一点:

  • 选择表格视图,显示大小检查器并在表格视图大小部分的行高中键入它 。

默认行高

  • 选择原型单元格,显示Size 检查器,在Table View Size部分选中Custom并在关联文本字段中键入行高。

自定义行高

会不会是你用的是第二种方法?尝试使用第一种方法设置表格视图中所有行的默认高度,第二种方法告诉 Interface Builder 异常。

于 2014-01-22T15:45:07.343 回答
16

heightForRowAtIndexPath在显示单元格之前调用(对于表格的每一行),即cellForRowAtIndexPath调用 before。这是计算底层滚动视图、滚动指示器等的布局所必需的。

于 2012-08-16T20:39:16.477 回答