2015-12-21 89 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