我有一个 UINavigationController,当用户按下按钮时,它的 UIView 从屏幕底部滑入。
但是,在我将视图的“隐藏”属性设置为 NO 之后,UINavigationController 的视图有时会在一帧内完全就位,就好像动画已经完成一样。
这是显示/隐藏视图的代码:
- (void)showGUI: (bool)show
{
CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
if (!show)
{
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
}
else
{
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
}
[navController.view.superview.layer addAnimation:transition forKey:nil];
navController.view.hidden = !show;
}