重用tableview自定义单元格的问题

时间:2014-08-31 18:07:30

标签: ios objective-c uitableview

我的自定义单元格包含切换徽章和徽章内的标签(均在xib中)。那么我该如何重用细胞呢?如果我在自定义单元格的cell.imgBadgeImageView.image = nil方法中生成cell.lblBadgeLabel.Text = nilprepareForReuse,则它们将从所有剩余单元格中消失(因为我们正在重复使用单元格)。

我是否需要将代码中的徽章和标签作为子视图添加到单元格?如果我这样做,我如何访问单元徽章图像视图和徽章标签。我需要访问这两个,因为有一个很好的动画(用于图像视图)和文本更改(用于标签)。

我目前正在使用此委托方法制作视图中不存在的所有单元格nil

-(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
     if ([tableView.indexPathsForVisibleRows indexOfObject:indexPath] == NSNotFound){
         VBMerchantDealCell *cell = (VBMerchantDealCell *)[tableView cellForRowAtIndexPath:indexPath]; 
         cell = nil;
     }
}

1 个答案:

答案 0 :(得分:1)

我知道您想要重复使用该单元格。我不知道你采取的方法是否正确,但我按照Apple告诉我这样做的方式来做。

一个。在xib中设置重用标识符。说“MyCustomCell”。

湾使用以下命令在表视图分配后注册单元格:

self.cellNib = [UINib nibWithNibName:@"MyCustomCell" bundle:nil];
[self.tableView registerNib:self.cellNib forCellReuseIdentifier:@"CustomCell"];

℃。使用:

获取您的``cellForRowAtIndexPath`中的单元格
NSString *identifier = @"MyCustomCell"; 
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier];