根据部分更改单元重用标识符

Posted

技术标签:

【中文标题】根据部分更改单元重用标识符【英文标题】:Change CellReuseIdentifier Based on section 【发布时间】:2012-07-22 09:20:06 【问题描述】:

我有一个 UITableView 和一些具有不同表格视图样式的 .xib。每个 .xib 都有它自己的类,并使用基于该部分的重用标识符进行注册。例如: 在我的 viewDidLoad 中,我有以下内容:

UINib *cellStyleOne = [UINib nibWithNibName:@"CellStyleOne" bundle:nil];
[self.tableView registerNib:cellStyleOne forCellReuseIdentifier:@"CellStyleOne"];

UINib *cellStyleTwo = [UINib nibWithNibName:@"CellStyleTwo" bundle:nil];
[self.tableView registerNib:cellStyleTwo forCellReuseIdentifier:@"CellStyleTwo"];

UINib *cellStyleThree = [UINib nibWithNibName:@"CellStyleThree" bundle:nil];
[self.tableView registerNib:cellStyleThree forCellReuseIdentifier:@"CellStyleThree"];

如何将这些重用标识符中的每一个分配给我的 cellForRowAtIndexPath 中的一部分单元格而不引起任何问题?

谢谢。

【问题讨论】:

【参考方案1】:

您可以在cellForRowAtIndexPath: 中返回您喜欢的任何单元格,只需执行类似的操作

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    if (indexPath.section == 0)
    
        //create and return a cell with reuse ID: @"CellStyleOne"
    
    else 
    
        //create and return a cell using a different reuse ID
    

【讨论】:

以上是关于根据部分更改单元重用标识符的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 自定义单元格在滚动时更改

Xcode:如何找到没有重用标识符的单元格

nib 中的单元重用标识符与标识符不匹配

iPhone iOS 实例化静态 NSString 单元重用标识符的正确方法是啥?

iOS:未使用重用标识符清除单元格内容

iPhone sdk UITableView 单元重用标识符