将我的NavigationController与我的ECSlidingViewController一起使用

saf*_*ari 3 objective-c uinavigationbar ios slidingmenu ecslidingviewcontroller

我想做什么


如果开始创建我的应用程序 我有一个NavigationController我的rootViewController.当应用程序启动时,它将打开我的LoginViewController.Login-Procedure如果一切都很好,我会在那里做.我会开始我的ECSlidingViewController.其中有一个Menu(UITableView)和一个MainView(UITableView).

直到这里一切正常.我可以刷卡,它显示我的菜单.现在问题出现了.当我按下菜单项时,它会完美地启动我的新ViewController并显示内容.但它仍然显示相同NavigationBar- 就像在ECSlidingViewController.所以我没有可能告诉用户他在看什么,我也需要向他展示他的新选项NavigationBar.


我该如何解决这个问题?我总是喜欢展示NavigationBar我实际使用的特定ViewController.如果你的家伙有一些Codesnippets或一个好主意如何处理这个问题.请在下面发表评论.

如果你需要codenippets或其他东西,告诉我我会上传它!先感谢您!


这就是我启动ECSlidingMenu的方式:

[self performSegueWithIdentifier:@"loginPush" sender:self.view];
Run Code Online (Sandbox Code Playgroud)

这就是我将如何启动一个新的ViewController:

UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:identifier];
Run Code Online (Sandbox Code Playgroud)

图片*


故事板的结构:

Wai*_*ain 5

您想要更改您的结构,以便它ECSlidingViewViewController是根视图控制器.这可以是从应用程序的开始,也可以是在登录后切换根目录.滑动控制器的顶视图控制器应该是导航控制器,您应该设置根并将其他视图控制器推入该导航控制器.

你目前所拥有的东西打破了视图控制器和导航控制器之间的联系,因为只有滑动视图控制器被推入堆栈及其标题(没有任何关于它navigationItem的变化).

可能最简单的解决方案是更改故事板中的初始视图控制器(到滑动视图控制器).在这种情况下,登录视图将显示为导航控制器的根视图(这将是顶视图).然后,在登录后,您按下下一个视图控制器,然后(在动画完成后)从导航堆栈中删除登录视图控制器.