-1

我有一个 UITableView 正在重用单元格。我表中的某些单元格与其他单元格的高度略有不同。重用单元格时,表格视图似乎将单元格添加到以前的高度,然后将其动画到新高度。我不希望它这样做!

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

单元格几乎相同,只是顶部和底部的填充量不同,具体取决于它们是否位于顶部/底部/中间某处。

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

谢谢你的帮助!!

4

3 回答 3

1

这不是一个真正的技巧,但tableView:heightForRowAtIndexPath:会让表格视图知道单元格应该是什么高度。

于 2013-04-12T12:08:25.020 回答
1

用于heightForRowAtIndexPath返回每一行的高度。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    return 49;
}
于 2013-04-12T12:12:23.013 回答
0

原来这与动画插入行有关,而不是与单元格的重用有关。似乎使用 UITableViewRowAnimationNone 仍然会为单元格的插入设置动画。通过在禁用操作的情况下包装在 CATransaction 中插入单元格的调用,问题得到了解决。:)

很抱歉混淆了!

于 2013-04-12T12:58:30.513 回答