У меня есть CABasicAnimation в viewWillAppear метод "viewA". , когда я нажимаю кнопку в viewA, чтобы перейти к viewB, а затем вернуться к viewA CABasicAnimation в viewWillAppear (ofA) работает без проблем.CABasicAnimation не запускается в viewWillAppear
но, когда я перехожу из viewA к viewB, и в видуB Я ухожу из приложения, нажав кнопку «домой» и вернусь обратно в приложение, CABasicAnimation in viewWillAppear viewA не запускается после того, как я нажал кнопку назад кнопка в видеB.
Самое забавное, что у меня также есть блок анимации в viewWillAppear, и это триггеры без проблем в этом сценарии. поэтому метод viewWillAppear запускается, это просто CABasicAnimation, который не работает в первый раз после выхода в отставку и входа в приложение.
- (void) viewWillAppear:(BOOL)animated {
CAMediaTimingFunction *customTimingFunction;
customTimingFunction=[CAMediaTimingFunction functionWithControlPoints: 0.5f :0.01f :0.1f : 1.f];
CABasicAnimation *buttonAnimation = [CABasicAnimation animationWithKeyPath:@"transform.translation"];
buttonAnimation.fromValue=[NSValue valueWithCGPoint:CGPointMake(0,-600)];
buttonAnimation.toValue=[NSValue valueWithCGPoint:CGPointMake(0,0)];
buttonAnimation.duration = 1;
buttonAnimation.removedOnCompletion = NO;
buttonAnimation.fillMode = kCAFillModeForwards;
buttonAnimation.timingFunction = customTimingFunction;
[button.layer addAnimation:buttonAnimation forKey:@"transform.translation"];
}
Одно из решений, которое я нашел, - это разместить код в viewDidAppear. Однако, я думаю, анимация запускается слишком поздно, потому что она находится в методе viewDidAppear. В идеале я бы хотел этого в viewWillAppear. –