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

Gre*_*tic 5 iphone animation core-animation uiview ios

我的应用程序有一个标签栏,有两个不同的视图.在第一个选项卡上,其视图具有连续循环动画.

当我单击第二个选项卡,然后返回第一个,动画已停止.我知道我可以在viewWillAppear:方法中再次启动它,但问题比那更大.具体来说,如果应用程序转换为背景状态,动画也将停止,然后移回前景.在这种情况下,viewWillAppear不会在前台转换时调用,因此viewWillAppear技术不会执行任何操作.

处理这种情况的最佳方法是什么?

谢谢.

Pal*_*ndo 4

为了保持封装性,您当然不希望AppDelegate知道哪些视图需要恢复动画。但是您可以让包含动画的视图注册相应的通知(例如在视图的init方法中)并自行重新启动动画。

[[NSNotificationCenter defaultCenter] 
   addObserver:self 
      selector:@selector(startAnimation) 
          name:UIApplicationWillEnterForegroundNotification  
        object:nil];
Run Code Online (Sandbox Code Playgroud)

...并且不要忘记在dealloc方法中从通知中心取消注册。