【问题标题】:Glitch when sliding in UIView with kCATransitionMoveIn使用 kCATransitionMoveIn 在 UIView 中滑动时出现故障
【发布时间】:2011-01-06 14:51:23
【问题描述】:

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

【问题讨论】:

    标签: ios uiview uinavigationcontroller catransition


    【解决方案1】:

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

    【讨论】:

    • 在这种情况下,切换隐藏不起作用。你没有提供原因。我的解决方案有效,我已经更新了评论。下次尝试更有建设性。
    • 我不知道 OP 的问题是什么,但根据我的经验,切换 hiddenCATransition 完美配合。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多