【问题标题】:How to change the height of a prototype cell in Xcode for tableView?如何在 Xcode 中为 tableView 更改原型单元格的高度?
【发布时间】:2018-03-08 09:55:00
【问题描述】:

我已将UITableView 拖到我的故事板中,我可以将信息完全插入其中。但是为了自定义单元格,我添加了一个原型单元格。当我手动更改它的高度时,模拟器中没有任何变化。

【问题讨论】:

  • 实现方法 heightForRowAtIndexPath 并根据您的要求返回高度。

标签: ios swift uitableview


【解决方案1】:

您可以通过将约束添加到单元格内的标签或将其添加到您的viewDidLoad 来更改单元格的高度:

tableView.rowHeight = 40

或者您可以添加以下委托函数来更改高度:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 40
}

【讨论】:

  • 故事板中真的没有办法做到这一点吗?
  • @Jonas 您可以在情节提要中通过单击单元格然后更改大小检查器下的行高值来执行此操作。
  • 我试过了,但它只出现在故事​​板本身,但在模拟器中测试时并没有改变它
  • @Jonas -> 您需要点击 Storyboard 中的表格视图,然后点击右侧工具栏上的“尺寸检查器”(看起来像一个测量尺),您将在“表格”下看到查看”一个名为“行高”的属性,确保未选中“自动”并在此处进行更改。试试看它是否有效。 [XCode 版本 11.3.1]
【解决方案2】:

您可以使用 tableView 委托方法并为您的 heightForRowAt 指定值

说你希望它是 80:

 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return CGFloat(80)
    }

【讨论】:

    【解决方案3】:

    对于那些只是想在设计时更改行高的人,您可以选择表格视图单元格,然后在大小检查器中设置行高。

    我添加此答案是因为我在手动将单元格高度拖动到其他位置时遇到问题时发现了这个问题。但是,正如 OP 所指出的,这不会在运行时改变单元格的高度。单元格根据其内容自动调整大小。如果您需要给它一个固定的高度,请参阅接受的答案。

    【讨论】:

      【解决方案4】:

      接受的答案对我不起作用。对我有用的是在以下委托下添加 tableview rowheight:

      public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
      
              tableView.rowHeight = 350
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-01
        • 2018-10-11
        • 2019-05-23
        • 2011-04-13
        • 1970-01-01
        • 2020-02-09
        • 1970-01-01
        相关资源
        最近更新 更多