insertRowsAtIndexPaths有2个动画

时间:2014-08-14 10:11:47

标签: ios uitableview

我目前正使用以下代码在UITableView中插入单元格:

[rottenTableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:UITableViewRowAnimationTop];

使用动画UITableViewRowAnimationTop正确完成工作。但是,我想同时插入包含2个动画的单元格(UITableViewRowAnimationTopUITableViewRowAnimationFade)。我尝试了以下方法:

[rottenTableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:(UITableViewRowAnimationTop|UITableViewRowAnimationFade)];

此代码似乎与以前不同的动画插入动画。有什么方法可以同时执行这两种动画吗?

1 个答案:

答案 0 :(得分:3)

据我所知,当你使用-insertRowsAtIndexPaths:withRowAnimation:时,同一个单元格中只能有一种动画类型。但我可以建议同时为不同的单元格使用不同的动画类型。为此,您可以使用beginUpdates / endUpdates使用批量UITableView单元格的更新。所有的动画都会同时发射,你可以像这样使用它:

[tableView beginUpdates];

[tableView insertRowsAtIndexPaths:insertIndexPaths1 withRowAnimation:UITableViewRowAnimationRight];
[tableView insertRowsAtIndexPaths:insertIndexPaths2 withRowAnimation:UITableViewRowAnimationOTHER];

[tableView endUpdates];

详细信息请查看:Batch Insertion, Deletion, and Reloading of Rows and Sections 另请查看有关自定义插入动画的问题:Can you do custom animations for UITableView Cell Inserts?