0

我允许用户使用垂直呈现的模式添加新项目。完成后,模式滑出视图,新项目被添加到列表中。

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

有没有办法知道这个动画什么时候完成?还是我需要做一些更狡猾/更狡猾的事情*

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

编辑:我的第二个 hacky 想法是将模态解散包装在与解散相同持续时间(0.3?)的动画块中。

4

2 回答 2

1

你是如何进行模态转换的?如果你使用presentViewController而不是presentModalViewController,你有一个completion块。同样, thedismissViewControllerAnimated也有一个completion块(旧的dismissModalViewControllerAnimated没有)。这些是在 iOS 5 中引入的。

于 2012-08-11T00:25:05.220 回答
1

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

于 2012-08-11T00:51:12.663 回答