知道模态动画何时完成

时间:2012-08-10 23:25:05

标签: ios uitableview presentmodalviewcontroller

我允许用户使用垂直显示的模态添加新项目。完成后,模态将滑出视图,新项目将添加到列表中。

我希望用户通过插入带动画的新行(或者可能选择它)来查看其添加的影响。麻烦的是,如果单元格位于列表的底部,则用户不会真正看到动画,因为它发生在仍然消失的模态下。

有没有办法知道这个动画什么时候完成?或者我是否需要做更狡猾/骇客的事情*

*我正在考虑将添加的单元格的引用存储在iVar中,然后将其插入到viewDidAppear中,直到模态完成转换之后才会触发它 - 其他想法将不胜感激。

编辑:我的第二个愚蠢的想法是将模式解雇包含在一个相同持续时间(0.3?)的动画块中解雇。

2 个答案:

答案 0 :(得分:1)

你是如何进行模态转换的?如果您使用presentViewController代替presentModalViewController,则会有completion个阻止。同样,dismissViewControllerAnimated也有一个completion块(旧dismissModalViewControllerAnimated没有)。这些是在iOS 5中引入的。

答案 1 :(得分:1)

如果在某些奇怪的情况下,完成块没有漂浮你的船,大多数苹果动画的当前默认动画时间是0.25f秒。您可以对延迟进行硬编码并在此之后执行操作,但不建议这样做。它只是一个解决方案。你应该尽可能地做罗伯特和本说的话。