gpt4 book ai didi

objective-c - 如何将其他 View Controller 推送到 NavigationController 但保留 TabBar?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:52:39 24 4
gpt4 key购买 nike

我有一个以导航 Controller 根部的基本 View Controller 开头的应用

- (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;
}

一旦选择了一个导航项,我就会推送一个带有几个 View Controller 的标签栏 Controller 。

-(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];
}

问题是我现在需要在选项卡栏 Controller 中打开的 View Controller 之上添加另一个 View Controller ......当我像这样将一个 View Controller 推送到导航 Controller 时......

- (void)launchNewViewControllerWithArray:(NSArray *)stuff
{
self.newViewController = [self getNewViewController];

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

我不再看到标签栏导航(我更愿意看到这个导航和我推送的每个项目)。

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

最佳答案

您需要在标签栏 Controller 中设置导航 Controller 的父级,而不是相反。或者在你的标签栏 Controller 上引入另一个导航 Controller ,并将新的 View Controller 推送到它上面。

关于objective-c - 如何将其他 View Controller 推送到 NavigationController 但保留 TabBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com