删除iOS时第一行没有动画

时间:2016-02-24 11:12:33

标签: ios

我正在尝试使用以下代码删除行

[myTable beginUpdates];
[myTable deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationBottom];
[myTable endUpdates];

动画适用于除第一行以外的所有行

如果有的话,请告诉我原因/解决方案

由于

3 个答案:

答案 0 :(得分:2)

[CATransaction begin];

[CATransaction setCompletionBlock:^{
    // animation has finished
      NSLog(@"My Animation Ended "); //Check if this is printed when zero index is deleted.
}];

[myTable beginUpdates];
            [myTable deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationBottom];
[myTable endUpdates];

[CATransaction commit];

如果它被打印,意味着有动画,所以我们可以断定它没有显示的原因。

答案 1 :(得分:0)

如果该部分中只有一行,那么您不应该删除该行,您应该删除该部分。

请注意,在所有情况下,您还需要更新数据存储,以便在使用更改更新表视图的同时删除行/部分。

答案 2 :(得分:0)

问题已解决,

问题是我在调用删除动画后立即将表的alpha设置为零,如下所示,无论如何,谢谢你的回复。

[myTable beginUpdates];

[myTable deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationBottom];

[myTable endUpdates];

myTable.alpha = 0;