2016-04-07 33 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

相關問題