无法更改单元格的行高 - 有 2 个原型单元格
Can't Change Row Heights of Cells - Have 2 Prototype Cells
我有一个 TableView,里面有 2 个原型单元格。我希望其中一个是静态的(称之为 header 单元格),另一个是动态的(称之为描述单元格)。
所以我将 TableView 单元格设置为动态原型,将原型单元格设置为 2)。 我也设置了TableView,增加了prototype cells;并放置虚拟数据以查看它们的工作情况。
但是,无论我做了什么,我都无法调整 Header 单元格的大小。
首先,在 Storyboard 中,我尝试更改 Header 单元格的行高(我勾选了 'Custom')。似乎改变了故事板中行的高度;事实上它不会在构建之后。
其次,这个宽度和高度位似乎被禁用了。
Header Cell
下的Content View
也一样。宽度和高度调整部分已禁用。
顺便说一下,Description Cell
的一切都一样。我试着给它添加一个行高,它似乎在情节提要中发生了变化,但在构建之后,没有运气。它只是自行其是。
我还应该强调它为 Description Cell
提供了更多空间,我 return cell.textLabel?.text = "BlaBla"
(因此它必须自己编写文本);但是对于 Storyboard 上我 dragging/dropping 的另一个单元格,它只是压缩了高度。
我可能做错了什么?你觉得我想念什么?
编辑:(我在顶部有一个导航栏)
- 它在模拟器上的表现:
- 故事板上的外观:
如您所见,它正在缩小 Header Cell
(这样会弄乱设计),并随机增加 Description Cell
的高度。
如果我可以用 heightForRowAtIndexPath
做到这一点,我应该如何使用这种方法为 2 个原型单元格提供不同的高度。 (我想让 Header Cell
成为静态行高,但是 Description - Dynamic
,或者至少不相同的高度)
您将在 table 视图的委托中实现 - tableView:heightForRowAtIndexPath:
并 return 每行的高度。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 0 {
return 100
}
return 44
}
我有一个 TableView,里面有 2 个原型单元格。我希望其中一个是静态的(称之为 header 单元格),另一个是动态的(称之为描述单元格)。
所以我将 TableView 单元格设置为动态原型,将原型单元格设置为 2)。 我也设置了TableView,增加了prototype cells;并放置虚拟数据以查看它们的工作情况。
但是,无论我做了什么,我都无法调整 Header 单元格的大小。
首先,在 Storyboard 中,我尝试更改 Header 单元格的行高(我勾选了 'Custom')。似乎改变了故事板中行的高度;事实上它不会在构建之后。
其次,这个宽度和高度位似乎被禁用了。
Header Cell
下的Content View
也一样。宽度和高度调整部分已禁用。
顺便说一下,Description Cell
的一切都一样。我试着给它添加一个行高,它似乎在情节提要中发生了变化,但在构建之后,没有运气。它只是自行其是。
我还应该强调它为 Description Cell
提供了更多空间,我 return cell.textLabel?.text = "BlaBla"
(因此它必须自己编写文本);但是对于 Storyboard 上我 dragging/dropping 的另一个单元格,它只是压缩了高度。
我可能做错了什么?你觉得我想念什么?
编辑:(我在顶部有一个导航栏)
- 它在模拟器上的表现:
- 故事板上的外观:
如您所见,它正在缩小 Header Cell
(这样会弄乱设计),并随机增加 Description Cell
的高度。
如果我可以用 heightForRowAtIndexPath
做到这一点,我应该如何使用这种方法为 2 个原型单元格提供不同的高度。 (我想让 Header Cell
成为静态行高,但是 Description - Dynamic
,或者至少不相同的高度)
您将在 table 视图的委托中实现 - tableView:heightForRowAtIndexPath:
并 return 每行的高度。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 0 {
return 100
}
return 44
}