Вы можете поместить его в свой собственный метод и вызвать этот метод из viewDidAppear, а также в applicationDidBecomeActive, который находится в вашем AppDelegate.m
-(void)animate {
[UIView animateWithDuration:8.0 delay:0.0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
animations:^{
_introImage.center = CGPointMake(INTRO_IMAGE_X_END, INTRO_IMAGE_Y);
}
completion:^(BOOL finished){
_introImage.center = CGPointMake(INTRO_IMAGE_X_START, INTRO_IMAGE_Y);
}];
}
Чтобы запустить метод из «viewDidAppear», вызовите метод одной строкой, например:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self animate];
}
И для запуска анимации из делегата приложения, когда приложение становится активным:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[self.viewcontroller animate];
}
Все это предполагает, что вы можете использовать viewDidAppear и для других вещей. Разделение анимации на собственный метод позволяет вам вызывать ее исключительно, вместо того, чтобы запускать все внутри viewDidAppear.