Al seleccionar la segunda pestaña, se detiene la animation en la primera pestaña y no se reinicia

Creo un nuevo proyecto de aplicación con tabs en Xcode 4.2 usando Storyboards. En viewDidLoad, agrego el siguiente código:

[UIView animateWithDuration:30 delay:0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear animations:^(void) { CGRect imageViewFrame = self.scrollingImageView.frame; imageViewFrame.origin.x = CGRectGetWidth(imageViewFrame) / -2; self.scrollingImageView.frame = imageViewFrame; } completion:nil]; 

Luego, creo la propiedad UIImageView asociada y la coloco en IB.

 @property (nonatomic, strong) IBOutlet UIImageView *scrollingImageView; 

Puse una image en la image, la ejecuté en el simulador o mi iPod Touch, y veo desplazarme.

Sin embargo, cuando selecciono la segunda pestaña y vuelvo a la primera pestaña, la animation completa lo que parece ser inmediatamente y no puedo hacer que se reinicie, incluso si pongo lo anterior en viewWillAppear. He buscado muchas respuestas y no puedo resolverlo.

Cualquier ayuda sería apreciada.

Parece que el problema con el que está tratando es específico de los controlleres de barra con tabs, no de storyboards o la animation específica. El problema es que cuando se cambia a una pestaña diferente, la animation se detiene y, cuando regresa a la primera pestaña, no se reanuda.

viewWillAppear la animation de nuevo en viewWillAppear no funciona (como lo mencionaste), pero si primero eliminas la animation en viewWillDisappear , volver a orderarla en viewWillAppear debería funcionar. Por ejemplo

 - (void)viewWillDisappear:(BOOL)animated { [self.view.layer removeAllAnimations]; // or whatever you need to use to remove your specific animation } 

NB: El código de eliminación de animation debe estar en viewWillDisappear en lugar de en viewWillUnload , ya que viewWillUnload no se viewWillUnload cuando cambia las tabs.