我有一个应用程序,该应用程序从导航控制器的根部的基本视图控制器开始

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.navController.viewControllers = [NSArray arrayWithObject:[self getHomeViewController]];

    [[self getWindow] addSubview:self.navController.view];
    [[self getWindow] makeKeyAndVisible];

    return YES;
}

一旦选择了一个导航项目,我将按下带有一些视图控制器的选项卡栏控制器。
-(void)launchOptionWithTabBarController:(NSUInteger)selectedIndex
{
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:
                                             [self getFirstViewController],
                                             [self getSecondViewController],
                                             nil];

    [self.tabBarController setSelectedIndex:selectedIndex];
    [self.navController pushViewController:self.tabBarController animated:YES];
}

问题是我现在需要在选项卡栏控制器中打开的视图控制器的顶部添加另一个视图控制器...,当我像这样将其推到导航控制器时..
- (void)launchNewViewControllerWithArray:(NSArray *)stuff
{
    self.newViewController = [self getNewViewController];

    [self.navController pushViewController:self.newViewController animated:YES];
}

我再也看不到标签栏导航(并且我更希望看到此导航/我按的每个项目)。

如何修改控制流,以使标签栏导航项保持在底部?

最佳答案

您需要在选项卡控制器中将导航控制器作为父项,反之亦然。或在标签栏控制器上引入另一个导航控制器,然后将新的viewcontroller推到该导航控制器上。

08-05 22:11