在目标 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 中以编程方式替换菜单视图的主要内容,如果未能解决你的问题,请参考以下文章