0

我是初学者 iOS 开发者,我的应用程序带有许多控制器。在 LoginViewController 上登录后(LoginViewController 与 NavigationViewController 具有 segue 关系),我使用以下代码初始化 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时将DishesViewController推到 NavigationViewController 上。我怎样才能正确地做到这一点?

在此处输入图像描述

在此处输入图像描述 谢谢

4

2 回答 2

0

请按照以下步骤操作,我相信它会为您工作。

1)获取顶部ViewController参考链接)。

2) 如果您的 MMDrawerController 库配置正确,那么您将获得MMDrawerController顶视图控制器。

3)然后找到中心UINavigationController

4)通过使用中心导航控制器,您可以将新的视图控制器放入堆栈。

如果您做不到,请向我们提供示例源代码。所以我们可以提供准确的解决方案。

于 2019-02-13T13:19:22.090 回答
0

转到情节提要,选择 discesViewController 并从左侧窗格中选择身份检查器,然后在 StoryboardID 中输入“dishesVC”,然后使用以下代码:

CateringDishesViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"dishesVC"];
    [self.navigationController pushViewController: animated:YES]
于 2019-02-13T12:51:15.877 回答