使用setViewControllers时的过渡样式:动画:在UINavigationController上

时间:2012-03-06 15:05:46

标签: objective-c ios xcode uiviewcontroller uinavigationcontroller

我正在通过执行以下操作为我的navigationController设置一个新的ViewControllers堆栈:

 MainMenuViewController *mainMenuViewController = [[MainMenuViewController alloc] init];
NSArray *controllerArray = [NSArray arrayWithObject:mainMenuViewController];
[mainMenuViewController release];
[self.navController setViewControllers:controllerArray animated:YES];

唯一的问题是我似乎无法设置过渡风格。理想情况下,我希望它能够翻转。这可能吗?重要的是我使用setViewControllers:animated而不是presentModalViewController,因为我在堆栈之间来回切换,并希望维护每个堆栈的导航控制行为。

1 个答案:

答案 0 :(得分:0)

为什么不维护两个导航控制器并为它们之间的过渡设置动画,而不是交换整个导航堆栈?对我来说似乎更干净。

更新

我想如果我知道你想要实现的目标,我可以提供更好的帮助,但我知道你可以从第一个模拟地提供第二个导航控制器,你可以在之前/之后将一堆视图推到它上面此外,对现有的一组视图控制器进行彻底的替换,特别是如果它很深,可能会使用户感到困惑,更不用说Apple审核小组了。

在内存中维护两个导航控制器并不是什么大不了的事,只要你拥有内存(你可能会这样做),并且只要用户真正获益。

也许你可以对你的高级目标有所了解,我们可以从那里开始。

更多

如果您希望它翻转,那么您可以设置navController2.modalTranstitionStyle = UIModalTransitionStyleFlipHorizontal,这会导致navController2在模态显示时翻转。

我们在下面评论的时候有一些奇怪的故障,它可能已经丢失了你的更新。