在推送新的viewController时,TabBar始终向左移动

时间:2011-07-26 06:36:40

标签: iphone objective-c cocoa-touch uitabbarcontroller pushviewcontroller

我在一个标签上有一个带有导航控制器的标签栏应用程序。

我想推送一个新的视图控制器,但是从左侧开始设置动画。

我拥有的是:

CATransition *transition = [CATransition animation];
transition.duration = 0.8;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromLeft;
transition.delegate = self;        

controller.hidesBottomBarWhenPushed = YES;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[self.navigationController pushViewController:controller animated:YES];

除了标签栏之外,所有内容都从左侧推入,标签栏总是向左滑动(并且transition.duration对此也没有影响)。

有没有办法让taBar向同一方向滑出?与其余观点的速度?

(我也尝试过使用pushModalViewController,但它有各种图形故障)。

1 个答案:

答案 0 :(得分:0)

在我看来,您尝试仅在代码中设置self.navigationController动画;因为UITabBar不在其中,所以它不会像你喜欢的那样动画似乎是合理的(我认为它只是作为动画内部视图的后效制作动画,但你无法控制它)。

我要做的是访问您的UITabBarController的{​​{1}}并向其view添加动画(或者专门为此添加动画,您可以尝试不同的可能性)。