iphone: возобновить зацикливание анимации после того, как представление скрыто, а затем снова появляется? - PullRequest
5 голосов
/ 14 января 2011

Мое приложение имеет панель вкладок с двумя различными представлениями.На первой вкладке его вид имеет непрерывно-циклическую анимацию.

Когда я нажимаю на вторую вкладку, а затем возвращаюсь к первой, анимация останавливается.Я знаю, что мог бы запустить его снова в методе viewWillAppear:, но проблема еще больше.В частности, анимация также остановится, если приложение перейдет в фоновое состояние, а затем вернется на передний план.В этом случае viewWillAppear не вызывается при переходе на передний план, поэтому метод viewWillAppear ничего не сделает.

Какой лучший способ справиться с этой ситуацией?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 24 сентября 2011

Чтобы поддерживать инкапсуляцию, вы по праву не хотите, чтобы ваш AppDelegate знал, какие представления должны возобновлять анимацию. Но у вас может быть представление, содержащее регистр анимации для соответствующего уведомления (например, в методе init представления), и перезапуск анимации сам по себе.

[[NSNotificationCenter defaultCenter] 
   addObserver:self 
      selector:@selector(startAnimation) 
          name:UIApplicationWillEnterForegroundNotification  
        object:nil];

... и не забудьте отменить регистрацию в центре уведомлений методом dealloc.

0 голосов
/ 14 января 2011

Вы можете настроить продолжение анимации в методе applicationWillEnterForeground из AppDelegate.Если у вас есть ссылка на контроллер представления первой вкладки в AppDelegate, просто вызовите метод viewWillAppear контроллера представления из AppDelegate.

...