我在“viewA”的 viewWillAppear 方法中有一个 CABasicAnimation。当我按下 viewA 中的按钮转到 viewB 然后返回 viewA 时, viewWillAppear (viewA)中的 CABasicAnimation 可以正常工作。
但是,当我从 viewA 转到 viewB 时,在 viewB 中我通过按下主页按钮退出应用程序并返回应用程序,在我按下 viewB 中的后退按钮后,viewA 的 viewWillAppear 中的 CABasicAnimation 不会触发。
有趣的是,我在 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"];
}