iOS使用UINavigationController滑出菜单

时间:2013-06-18 04:11:07

标签: ios objective-c uiviewanimationtransition

我正在尝试编写一个使用主视图控制器(VC)和三个子视图的滑出菜单。如果我想要的话,我希望子视图能够成为UINavigationControllers ...但是我在将它们添加为主VC的子项时遇到了麻烦。

主视图是中心视图的委托。

似乎正在发生的事情是导航栏被赋予主vc而不是由孩子保留(如果这有意义)。见图:

enter image description here

我最近下载了另一个产生所需效果的库(CHSliderMenu),它在iOS6 / 7中运行得很好,但是我无法区分作者正在做什么和我正在做什么之间的区别。我知道我很接近,这就是让人难以理解的原因:(

以下是我的MainViewController中尝试添加子导航控制器的代码:

self.view.frame = self.view.bounds;

_centerViewController = [[D2CenterViewController alloc] init];
_centerViewController.view.backgroundColor = [UIColor whiteColor];
_centerViewController.view.tag = CENTER_TAG;
_centerViewController.delegate = self;

UINavigationController *centerNavController = [[UINavigationController alloc] initWithRootViewController:_centerViewController];

[self addChildViewController:centerNavController];
[self.view addSubview:centerNavController.view];

你能看到我可能出错的地方吗?诊断需要更多代码吗?

1 个答案:

答案 0 :(得分:0)

我实现了一个构建在UINavigationController之上的程序。为了显示navigationController后面的菜单,您需要将菜单添加到应用程序的主窗口,而不是将其添加为导航控制器的子视图。

您似乎正在将导航控制器中的viewController移动,而是需要移动导航控制器的视图,这样就可以移动包括导航栏在内的所有内容。

https://github.com/aryaxt/iOS-Slide-Menu