iphone: View 隐藏后重新启动循环动画,然后重新出现?

标签 iphone ios animation uiview core-animation

我的应用有一个带有两个不同 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/

相关文章:

iphone - 将 iPhone 或 iPod 变成无线网络摄像头

iphone - UITextView 文本的颜色变化

javascript - 在初始化另一个函数或动画之前如何确保动画完成?

java - 为什么我的java动画占用了我的整个CPU

math - 一些数学和动画

ios - 隐藏 UITextField 密码

html - 样式在 Chrome 和 Firefox Safari 和 iPhone 中显示不同

ios - 我应该使用哪种方法将数据发送到 Apple Watch 并返回?

ios - 如何在 UIButton 上设置宽度约束

android - 应用程序关闭时 Firebase 是否同步记录的事件?