我的应用有一个带有两个不同 View 的标签栏。在第一个选项卡上,它的 View 有一个连续循环的动画。
当我单击第二个选项卡,然后返回到第一个选项卡时,动画已停止。我知道我可以在 viewWillAppear: 方法中再次启动它,但问题远不止于此。具体来说,如果应用程序转换到后台状态,然后又回到前台,动画也会停止。在这种情况下,不会在前景转换时调用 viewWillAppear,因此 viewWillAppear 技术不会执行任何操作。
处理这种情况的最佳方法是什么?
谢谢。
最佳答案
为了保持封装,您不希望您的 AppDelegate
知道哪些 View 需要恢复动画是正确的。但是您可以让包含动画的 View 注册相应的通知(例如在 View 的 init
方法中)并自行重新启动动画。
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(startAnimation)
name:UIApplicationWillEnterForegroundNotification
object:nil];
...并且不要忘记在 dealloc
方法中从通知中心注销。
关于iphone: View 隐藏后重新启动循环动画,然后重新出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686442/