我有一个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;
}
答案 0 :(得分:2)
在从添加动画的图层添加/删除图层时应用CATransition动画。如果切换隐藏属性不起作用,请尝试删除视图。