如何使用willDisplayCell方法实现多个自定义单元格?

时间:2016-02-16 16:43:50

标签: ios objective-c uitableview

我试图在willDisplayCell方法中实现两个自定义单元格 customCellView1 customCellView2 - 这似乎只支持一个单元格。有没有办法重写这个包含两个? 谢谢。

  • (void)tableView:(UITableView *)tableView willDisplayCell:( customCellView1 *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

2 个答案:

答案 0 :(得分:2)

这一切最终都取决于dequeue cellForRowAtIndexPath:中的willDisplayCell:来电。您可以指定重用标识符。因此,如果此行需要类型1单元格,则为类型1提供重用标识符,但如果此行需要类型2单元格,则为类型2提供重用标识符。然后根据它来分支。

好吧,重用标识符附加到单元格。所以现在当你到达UITableViewCell*时,同样的事情也是如此:你开始转换为FindReferencesAsync(),然后检查单元格的重用标识符和分支,根据它的类型

答案 1 :(得分:1)

检查if / else中的单元格类。

- (void)tableView:(UITableView *)tableView willDisplayCell: (UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if ([cell is kindOfClass:[CustomCellClass1 class]] ) {
       [(CustomCellClass1 *)cell doWhatever];
    }
    else if ([cell is kindOfClass:[CustomCellClass2 class]] ) {
       [(CustomCellClass2 *)cell doSomethingDifferent];
    }
}