UITableViewCell重用

时间:2013-04-12 12:03:50

标签: ios cocoa-touch uitableview

我有一个重用单元格的UITableView。我桌上的一些细胞与其他细胞略有不同。重复使用单元格时,表格视图似乎会将单元格添加到以前的高度,然后将其设置为新高度的动画。我不希望它这样做!

我尝试将CATransactions放在我的layoutSubviews和prepareForReuse周围,它们都做了一些布局,并禁用了操作,但这并没有解决问题。

细胞几乎都是一样的,它们在顶部和底部只有不同的填充量,具体取决于它们是在顶部/底部/中间某处。

我在这里缺少一些漂亮的技巧吗?

感谢您的帮助!!

3 个答案:

答案 0 :(得分:1)

这不是一个真正的技巧,但tableView:heightForRowAtIndexPath:会让表格查看细胞的高度。

答案 1 :(得分:1)

使用heightForRowAtIndexPath返回每行的高度。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    return 49;
}

答案 2 :(得分:0)

原来,它与动画插入行动画有关,而不是重复使用单元格。似乎使用UITableViewRowAnimationNone仍然可以动画插入单元格。通过包含调用以在禁止操作的CATransaction中插入单元格,问题得以解决。 :)

抱歉混淆了!