0

我是 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?

4

3 回答 3

1

如果我正确理解你的问题,我想你需要

[self.navigationController pushViewController: myViewController animated:YES];

将新的视图控制器推送到您的导航堆栈。

但是我认为您为应用程序设计的内容是错误的,不是 iOS 标准。Tabbar 不是像按钮那样“做一个动作”(我也做过一些android项目,但不一样。如果你真的想做一个按钮,你需要使用工具栏而不是标签栏),它是用于切换的页。我认为您需要阅读 iOS User Interface。希望这会有所帮助。

于 2012-11-23T15:35:41.943 回答
1

您可以模态地使用 rootViewController 呈现该 navigationController:

[self presentModalViewController:navController animated: YES];
于 2012-11-23T15:39:05.110 回答
0

我将一个新的 NavigationController 链接到选项卡项。我还为该选项卡打开了 ActionSheet 菜单,这基本上是客户想要的,但从用户的角度来看,这最终是愚蠢的,因为另一个 ViewControllers 的按钮应该放在新打开的选项卡上......我希望客户改变主意。

于 2012-11-26T14:46:19.030 回答