如何应对任何中断?

时间:2010-05-31 15:21:12

标签: iphone

我的应用正在播放非常复杂的动画。这就像一本翻书。

我所做的是:我有一个带有选择器的巨大循环,并且在每次延迟调用之后都会调用下一个。

现在有人打电话给用户,设备突然显示这个胖绿色状态栏,可能还有一些大的接听电话覆盖。或者:闹钟响了,几乎所有事情都会出现一个大警报表。

如果出现任何中断,暂停整个动画会很棒。可能我也错过了5次可能的中断。

你是怎么做到的?如何通知所有中断,然后调用一个单一的-stopEverything方法?

2 个答案:

答案 0 :(得分:2)

每当应用变为无效时,都会发布UIApplicationWillResignActiveNotification local notification。在相反的情况下,将发布UIApplicationDidBecomeActiveNotification通知。

您的动画逻辑可以收听并正确回应。有+setAnimationsEnabled: method可以杀死所有当前和未来的动画,但没有记录在案的“全局暂停”方法。

答案 1 :(得分:0)

根据动画的不同,最好在视图的-layer上使用单个CAKeyframeAnimation直接使用CoreAnimation,而不是让一个动画的完成选择器启动另一个动画。