在目标 c 中以编程方式替换菜单视图

Posted

技术标签:

【中文标题】在目标 c 中以编程方式替换菜单视图【英文标题】:Replace Menu View Programmatically in objective c 【发布时间】:2017-04-01 00:54:19 【问题描述】:

我正在使用 AppCoda 中的示例来创建滑出式侧边栏菜单。这是链接。

https://www.appcoda.com/ios-programming-sidebar-navigation-menu/

我想要做的是用 mainViewController 上的不同菜单替换菜单。我想以编程方式做到这一点。我已经知道如何直接从情节提要中做到这一点。

每当我尝试这种方法时,它都会用菜单控制器替换整个视图。我只是想让它改变左侧边栏的菜单。

NSString * storyboardName = @"Main";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"menu_logged_in"];
UIViewController * vcl = [storyboard instantiateViewControllerWithIdentifier:@"menu_register"];
[self presentViewController:vc animated:YES completion:nil];

无论如何调用左侧菜单上的侧边栏并将其替换为另一个菜单。我在 iOS 环境中的知识非常有限,我对如何使用不同的菜单更改此菜单感到非常困惑。

【问题讨论】:

你想要什么?你想替换菜单吗? 是的。但我明白了。我会发布答案。 【参考方案1】:

所以我所做的是从情节提要中实例化 viewController,然后使用 setRearViewController 函数调用它,然后将新菜单设置为此。

UIViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"menu_subscriber"];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
navController.navigationBar.hidden = YES;
[navController setViewControllers: @[rootViewController] animated: YES];

[self.revealViewController setRearViewController:navController];

【讨论】:

以上是关于在目标 c 中以编程方式替换菜单视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Objective C 中以编程方式设置集合视图?

在 swift 中以编程方式在堆栈视图中添加标签和文本视图

为啥在集合视图单元格中以编程方式创建的按钮需要是惰性变量?

在导航堆栈中以模态方式呈现视图控制器

如何在 Roblox 第一人称视图中以编程方式调整旋转量?

如何在 Swift 中以编程方式从 UIView 中删除安全区域?