在选项卡栏应用程序中显示操作表中的导航控制器



我是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 的按钮应该放在新打开的选项卡上......我希望客户改变主意。

最新更新