UITableViewCell中的差异willMoveToSuperview:iOS 5和iOS 6之间的行为

时间:2012-09-20 19:01:35

标签: ios5 uitableview ios6

在iOS 5下,每次使用或重复使用单元格时,似乎都会调用UITableViewCell子类的willMoveToSuperview:方法,但在iOS 6下,它似乎只在单元格最初时调用创建和使用,而不是在重用单元格时。谁能验证这种差异?这是一个错误吗?

在iOS 5和iOS 6中重用单元格时,我应该使用什么方法在UITableViewCell子类中进行单元格设置?

2 个答案:

答案 0 :(得分:1)

我遇到了与UICollectionView相同的问题。您似乎必须在用于显示的视图中实现方法prepareForReuse(例如,类型为UITableViewCell或UICollectionViewCell)。但是,如果您在iOS6中使用带有dequeueReusableCellWithReuseIdentifier:forIndexPath:的注册类的新registerClass:forCellWithReuseIdentifier:,则即使它是第一次创建单元格(而不仅仅是重用它),也会调用它。 / p>

参考:UITableViewCell Class - prepareForReuse

答案 1 :(得分:0)

1。如何知道是否从tableview中删除了一个单元格?

使用此方法执行某些操作,例如清理,停止计时器或其他东西......

- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

2。如何知道是否要显示一个单元格

  • (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;

3。如何知道一个单元格是否会重用

覆盖此方法

UITableViewCell:
 - (void)prepareForReuse();