2015-12-21 24 views
0

我想用具有多個部分的UITableView展開我的UITableViewCells。我在做它的方式如下:用多個部分展開UITableViewCell

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    selectedRowIndex = indexPath 
    habitTableView.beginUpdates() 
    habitTableView.endUpdates() 
} 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    if (selectedRowIndex != nil && indexPath == selectedRowIndex!){ 

     return 147 
    } 
    return 90 
} 

但也有一些怪異的行爲,例如,如果一個細胞擴展,它像是「吃掉」下一個章節標題的下面它,因此部分標題消失。我只是想知道 - 是否有與UITableView具有多個部分的細微差別?

回答

0

所以,你可以做的一件事是有兩個協議類型UITableViewCell。一個是正​​常的,另一個是擴大的。一旦你輸入一個單元格,你只需要更新委託使用擴展的而不是普通的。更新時,您只需撥打reloadRowsAtIndexPaths即可防止重新載入所有內容。

您只需要再創建一個單元格原型並具有用於指示狀態的布爾值。然後,將您的邏輯添加到cellForRowAtIndexPath