【问题标题】:Can't Change Row Heights of Cells - Have 2 Prototype Cells无法更改单元格的行高 - 有 2 个原型单元格
【发布时间】:2016-04-07 20:16:09
【问题描述】:

我有一个 TableView,里面有 2 个原型单元格。我希望其中一个是静态的(称为标题单元格),另一个是动态的(称为描述单元格)。

所以我将 TableView 单元格设置为动态原型,将原型单元格设置为 2)。 我还设置了 TableView 并增加了原型单元格;并放置虚拟数据以查看它们的工作情况。

但是,无论我做了什么,我都无法调整标题单元格的大小。

  • 首先,在 Storyboard 中,我尝试更改标题单元格的行高(并勾选了“自定义”)。似乎改变了情节提要中行的高度;事实上它不会在构建之后。

  • 其次,这个宽度和高度位似乎被禁用了。

  • Content ViewHeader Cell 下也是一样的。宽度和高度调整部分被禁用。

顺便说一句,Description Cell 的一切都是一样的。我尝试将它添加一个行高,它似乎在情节提要中发生了变化,但是在构建之后,没有运气。它只是自己行事。

我还应该强调它为Description Cell 提供了更多空间,我返回cell.textLabel?.text = "BlaBla"(因此它必须自己编写文本);但是对于我在情节提要上拖放的另一个单元格,它只会挤压高度。

我可能做错了什么?你觉得我错过了什么?


编辑:(我在顶部有一个导航栏)

  • 模拟器上的样子:

  • 它在 Storyboard 上的外观:


如您所见,它缩小了Header Cell(因此搞砸了设计),并随机增加了Description Cell 的高度。

如果我可以用heightForRowAtIndexPath 做到这一点,我应该如何使用这种方法为 2 个原型单元格提供不同的高度。 (我想让Header Cell 是静态行高,但Description - Dynamic,或者至少不是相同的高度)

【问题讨论】:

    标签: ios swift uitableview storyboard tableviewcell


    【解决方案1】:

    您将在表格视图的委托中实现- tableView:heightForRowAtIndexPath: 并返回您想要的每一行的高度。

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        if indexPath.row == 0 {
            return 100
        }
        return 44
    }
    

    【讨论】:

    • 当我有多个原型单元时如何使用它?例如,return 44 不会影响两个单元格吗?
    • @senty 你应该同时发送heightForHeaderInSectionheightForRowAtIndexPath
    • @senty 没有。您只需要两次退货。我已经更新了答案以显示可能的样子。
    • 哦,完全错过了heightForHeaderInSection。非常感谢!
    猜你喜欢
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2013-06-23
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多