我想知道如果在deleteRowsAtIndexPaths中触发了动画是否有可能捕获是否结束?我想要做的是从UITableView中除去一些我拍摄的所有行.接下来我想在同一个UITableView中插入几行.这两个操作都是在beginUpadate / endUpdate块中执行的.问题是在删除动画结束之前,插入动画开始,我想要一个接一个地被触发,因为插入的行来自外部webservice.
我正在考虑在方法中包装插入和删除方法(在UITableView子类中),我可以用自定义方法替换标准动画,并且在第一个结束时使用objective-c块一个接一个地触发,但是似乎是不可触及的,或者我只是可以不要这样做
在此先感谢您的帮助!
解决方法
我相信在animateWithDuration中包装表更新将会起作用:
[UIView animateWithDuration:0.0 animations:^{ [coursesTable beginUpdates]; … [coursesTable endUpdates]; } completion:^(BOOL finished) { // Code to run when table updates are complete. }];
我发现在Stack Overflow上提到的其他方法对我来说没有效果.
我一次使用这种技术,并测试它足以验证完成块是在调用了表的endUpdates方法之后被调用的,并且被称之为似乎合理的时间,但是我重写了我的代码,所以我不再需要它了在我完全验证动画实际完成之前.