我是iOS开发的初学者,我的应用带有很多控制器。 登录LoginViewController后(LoginViewController与NavigationViewController有联系),我使用以下代码初始化MMDrawerViewController:
-(void)initSidebarController{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *leftView = [mainStoryboard instantiateViewControllerWithIdentifier:@"LeftViewController"];
UIViewController *centerView = [mainStoryboard instantiateViewControllerWithIdentifier:@"CenterViewController"];
UINavigationController *leftNav= [[UINavigationController alloc]initWithRootViewController:leftView];
UINavigationController *centerNav= [[UINavigationController alloc]initWithRootViewController:centerView];
appDelegate.drawerController= [[MMDrawerController alloc]initWithCenterViewController:centerNav leftDrawerViewController:leftNav];
appDelegate.drawerController.openDrawerGestureModeMask = MMOpenDrawerGestureModePanningCenterView;
appDelegate.drawerController.closeDrawerGestureModeMask = MMOpenDrawerGestureModePanningCenterView;
appDelegate.window.rootViewController = appDelegate.drawerController;
[appDelegate.window makeKeyAndVisible];
}
现在,当用户 didSelectRowAtIndexPath 时,我想在NavigationViewController上推送 DishesViewController 。 如何正确执行此操作?
答案 0 :(得分:0)
转到情节提要,选择dishsViewController,然后从左窗格中选择身份检查器,然后在StoryboardID中输入“ dishesVC”,然后使用此代码:
CateringDishesViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"dishesVC"];
[self.navigationController pushViewController: animated:YES]
答案 1 :(得分:0)
请按照以下步骤操作,我确定它会为您工作。
1)获得最高的ViewController
(Reference link)。
2)如果您的MMDrawerController库配置正确,那么您将获得MMDrawerController
作为顶视图控制器。
3)然后找到中心UINavigationController
4)通过使用中心导航控制器,您可以将新的视图控制器放入堆栈中。
如果您无法执行此操作,请向我们提供示例源代码。因此,我们可以提供确切的解决方案。