我是iOS新手。正在Android上开发。目前接管了一个iOS应用程序,我必须更新它的几个功能。
此应用程序基于TabBar。几个导航控制器被推入标签栏,用于管理它们之间的切换。但是现在,其中一个选项卡会打开一个包含几个选项的ActionSheet。
我必须在其中一个ActionSheet按钮上打开一个新的NavigationController。
这是一个片段,用于定义单击了哪个按钮:
switch (buttonIndex) {
case 0:
[self openMyNavigationController];
break;
case 1:
break;
case 2:
break;
default:
break;
}
我不知道openMyNavigationController方法应该如何显示
像这样开始:
UIViewController *myViewController = [[MyViewController alloc ] nitWithNibName:@"MyViewController" bundle:nil];
UINavigationController *navMyViewController = [[UINavigationController alloc] initWithRootViewController:myViewController];
如何在屏幕上显示新创建的NavigationController?
答案 0 :(得分:1)
如果我理解你的问题,我想你需要
[self.navigationController pushViewController: myViewController animated:YES];
将新的viewcontroller推送到导航堆栈。
但我认为您为应用程序设计的内容是错误的,而且不是iOS标准。 Tabbar不是像按钮一样“做一个动作”(我也做了一些android项目,但它有所不同。如果你真的想做一个按钮,你需要使用工具栏而不是标签栏),它是用于切换页。我想你需要阅读iOS User Interface。希望这有用。
答案 1 :(得分:1)
您可以使用rootViewController模式显示该navigationController:
[self presentModalViewController:navController animated: YES];
答案 2 :(得分:0)
我将新的NavigationController链接到标签项。我还打开了该选项卡的ActionSheet菜单,这基本上是客户想要的,但是从用户视线来看最终是愚蠢的,因为另一个ViewControllers的按钮应该放在新打开的选项卡上...我希望客户改变主意。