gpt4 book ai didi

objective-c - CABasicAnimation 不会在 viewWillAppear 中触发

转载 作者:行者123 更新时间:2023-11-28 20:36:06 25 4
gpt4 key购买 nike

我在“viewA”的 viewWillAppear 方法中有一个 CABasicAnimation。当我按下 viewA 中的按钮转到 viewB 然后返回 viewAviewWillAppear(viewA 的)中的 CABasicAnimation 可以正常工作。

但是,当我从 viewA 转到 viewB 时,在 viewB 中,我通过按主页按钮退出应用程序并返回到应用程序,在我按下后退按钮后,viewA 的 viewWillAppear 中的 CABasicAnimation 不会触发在 View B.

有趣的是,我在 viewWillAppear 中也有一个动画 block ,并且在这种情况下可以毫无问题地触发。所以 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"];

}

最佳答案

我找到了解决方案。如果我将 change buttonAnimation.removedOnCompletion = NO; 更改为 change buttonAnimation.removedOnCompletion = YES; 每次都会触发。即使在辞职并进入应用程序之后。

关于objective-c - CABasicAnimation 不会在 viewWillAppear 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com