gpt4 book ai didi

iphone - 自定义UINavigationController动画: CATransition

转载 作者:行者123 更新时间:2023-12-03 18:58:40 27 4
gpt4 key购买 nike

我有一个 UINavigationController。我将 VC1 设置为 rootViewController,并以编程方式从 VC1 加载 VC2,然后将自定义动画从 VC1 转到 VC2。标准。一切都很好。

现在,我想在两者之间有一个自定义动画,如下所示: Custom animation

总之,VC1 滑出视野,而 VC2 位于其下方。就像一叠纸一样,您滑开第一张纸 (VC1),从而露出下面的纸 (VC2)。

所以我尝试的是从 VC1 调用以下代码以到达 VC2。但它也存在一些问题:

MyVC2 *vctwo = [[[MyVC2 alloc] init] autorelease];

CATransition *transition = [CATransition animation];
transition.duration = 1;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromRight;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];

[[self navigationController] pushViewController:vctwo animated:YES];

问题如下:

  1. VC2 没有固定在后台。它也会滑入(即使我指定了 kCATransitionReveal)。我希望 VC2 完全固定在后台。
  2. VC1 淡出。我真的不知道为什么。我没有使用 kCATransitionFade 之类的,所以我看不到淡入淡出从何而来。

任何关于为什么我没有得到预期结果的建议将非常感激。抱歉,如果这是显而易见的,但我现在已经尝试了几个小时并且感到非常沮丧。

最佳答案

我认为你应该使用[[self navigationController]pushViewController:vctwoanimated:NO];而不是animated:YES

关于iphone - 自定义UINavigationController动画: CATransition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com