我想一个新的根控制器推送到导航堆栈,但使用一个侧面显示菜单。
我的应用程序委托有以下几点:
welcomeViewController = [[MyWelcomeViewController alloc] initWithNibName:@"MyWelcomeViewController" bundle:nil];
navController = [[UINavigationController alloc] initWithRootViewController:welcomeViewController];
navController.navigationBarHidden = YES;
// Then we setup the reveal side view controller with the root view controller as the navigation controller
self.revealSideViewController = [[PPRevealSideViewController alloc] initWithRootViewController:navController];
[self.revealSideViewController setDirectionsToShowBounce:PPRevealSideDirectionNone];
[self.revealSideViewController setPanInteractionsWhenClosed:PPRevealSideInteractionContentView | PPRevealSideInteractionNavigationBar];
// Then we make the window root view controller the reveal side view controller
self.window.rootViewController = self.revealSideViewController;
一旦显示欢迎视图控制器,在用户登录,一旦在下面的过程再次记录在应用委托运行。
self.navController.navigationBarHidden = NO;
[self.navController setTitle:@"Home"];
[self.navController pushViewController:homeViewController animated:NO];
然后我具有侧视控制器设置其与定制单元设置一个表视图。
当选择的行我需要一个新的根控制器推到导航控制器。 我通过使用所选单元格的表格查看以下尝试。
MyAccountViewController *accountViewController = [[MyAccountViewController alloc] init];
[self.navigationController setViewControllers:[NSArray arrayWithObject:accountViewController] animated:NO];
不幸的是,这并不做任何事情。 如果我的代码添加到应用程序代理,然后调用从表视图控制器的方法,那么它的工作原理,但不是从表视图本身.m文件。 添加日志,我可以看到上面的运行,只是没有做任何事情。
我不确定,如果我需要做任何事情上与上述不同。 例如,完全弹出当前显示的视图,则所有重复创建导航控制器和PPRevealSideViewController。 如果我应该,我不知道该如何弹出所有当前视图,然后从AppDelegate中推新的窗口,没有。
我不希望这个在App代表的原因是因为它是解决这个不正确的方法,然后我就需要为每个新的根控制器我想从菜单中按一个单独的方法,以便与App代表将成为很大。