0

我正在尝试编写一个使用主视图控制器(VC)和三个子视图的滑出菜单。如果我愿意,我希望子视图能够成为 UINavigationControllers……但我无法将它们添加为主 VC 的子视图。

主视图是中心视图的代表。

似乎正在发生的事情是导航栏被提供给主 vc 而不是由孩子保留(如果这有任何意义的话)。见图片:

在此处输入图像描述

我最近下载了另一个产生所需效果的库(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];

你能看出我哪里出错了吗?是否需要更多代码来诊断?

4

1 回答 1

0

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

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

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

于 2014-01-08T04:39:23.977 回答