0

我有一个 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;
}
4

1 回答 1

2

CATransition 动画在您添加动画的图层添加/删除时应用。如果切换隐藏属性不起作用,请尝试删除视图。

于 2011-07-18T21:21:53.407 回答