2016-04-07 36 views
1

我有一个TableView,里面有2个原型单元格。我希望其中一个是静态的(称之为头部单元格),另一个是动态的(称为描述单元格)。不能改变单元格的行高 - 有2个原型单元格

因此,我将TableView单元格设置为动态原型,将原型单元格设置为2)。 我也设置了TableView并增加了原型单元格;并将虚拟数据用于查看它们的工作情况。

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

  • 首先,在Storyboard中,我尝试更改Header Cell的行高(并勾选'Custom')。这似乎是改变故事板中行的高度;实际上它并没有在构建之后。

  • 其次,此宽度和高度位似乎禁用。

enter image description here

  • 这也是同为Content View刚下Header Cell。宽度&高度调整部分被禁用。

顺便说一下,Description Cell的一切都是一样的。我尝试将它添加到行高中,似乎在改变故事板,但在构建之后,没有运气。它只是表现自己。

我还应该强调它给了Description Cell更多的空间,我返回cell.textLabel?.text = "BlaBla"(所以它必须写文本本身);但对于我在Storyboard上拖放的其他单元格,它只是挤压高度。

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


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

  • 它的外观上的模拟器:

enter image description here

  • 如何穿上它故事板:

enter image description here


正如你可以看到它的缩小Header Cell(所以搞乱设计),并随机增加Description Cell高度。

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

回答

1

你要实现你的表视图的委托- tableView:heightForRowAtIndexPath:并返回你想为每个行的高度。

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

如何在具有多个原型单元格时使用它?例如'不会返回44'会影响这两个单元吗? – senty

+1

@senty你应该同时发送'heightForHeaderInSection'和'heightForRowAtIndexPath' – kye

+0

@senty不,你只需要两个返回。我已更新答案以显示可能的外观。 – Collin

相关问题