![](/img/trans.png)
[英]Using setNavigationBarHidden in viewWillAppear doesn't work
[英]CABasicAnimation doesn't trigger in viewWillAppear
我在“ viewA”的viewWillAppear方法中有一個CABasicAnimation。 當我按下viewA中的按鈕轉到viewB,然后返回到viewA時,(viewA的)viewWillAppear中的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"];
}
我找到了解決方案。 如果我change buttonAnimation.removedOnCompletion = NO;
change buttonAnimation.removedOnCompletion = YES;
它將每次觸發。 即使辭職並進入應用程序。
我遇到相同的情況,動畫無法開始。 從此處使用代碼: https : //github.com/akaabe/HamburgerButton/blob/master/HamburBtn.m並調用viewDidAppear toggleAnimation。 對我有用的唯一情況是延遲使用performSelector。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.