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