CABasicAnimation не работает после перехода

Я следую учебному пособию по лабиринту (ссылка), в котором я анимировать UIImageView с именем ghost1 благодаря следующему коду (код находится в методе viewDidLoad: файла ViewController.h):

CGPoint origin1 = self.ghost1.center;
CGPoint target1 = CGPointMake(self.ghost1.center.x, self.ghost1.center.y-124);

CABasicAnimation *bounce1 = [CABasicAnimation         

animationWithKeyPath:@"position.y"];
bounce1.fromValue = [NSNumber numberWithInt:origin1.y];
bounce1.toValue = [NSNumber numberWithInt:target1.y];
bounce1.duration = 2;
bounce1.autoreverses = YES;
bounce1.repeatCount = HUGE_VALF;

[self.ghost1.layer addAnimation:bounce1 forKey:@"position"];

На данный момент это работает хорошо. Теперь я хочу добавить в приложение новый начальный вид (чтобы сначала отображать меню, а не непосредственно игру) и запускать игру, когда я нажимаю кнопку «Пуск» в этом новом представлении.

Я добавил кнопку и переход типа "показать". При нажатии на кнопку игра отображается, но анимация не работает.

Вы знаете, почему и как я могу это исправить?


person Zach    schedule 02.04.2015    source источник


Ответы (1)


Хорошо, я только что нашел решение здесь: ссылка

Мне просто нужно было переместить код из viewDidLoad: в viewDidAppear:. Я не совсем понимаю, почему, но это работает.

person Zach    schedule 02.04.2015