gpt4 book ai didi

ios - 将 ViewController 推到 TabBarController 之上

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

我遇到了一个我真的不知道如何解决的问题:

我的 AppDelegate 中定义了一个 TabBarController。

 UITabBarController *tabBarController = [[UITabBarController alloc] init];

在这个 TabBarController 中,我有几个其他的 NavigationControllers,里面有 UiVieController:

ProgramController *programContr = [[ProgrammController alloc] init];
UINavigationController navControllerPro = [[UINavigationController alloc] initWithRootViewController:programContr];

ManualController *manualContr = [[ManualController alloc] init];
UINavigationController navControllerMan = [[UINavigationController alloc] initWithRootViewController:manualContr];

然后我将 NavigationController 添加到 TabBarController:

tabBarController.viewControllers = [NSArray arrayWithObjects:navControllerPro,navControllerMan, nil]; 

我将 tabBarController 设置为 rootViewController:

self.window.rootViewController = tabBarController;
[[self window] makeKeyAndVisible];

这很好用。现在我想在上面添加一个“登录屏幕”。我是这样做的:

[tabBarController presentModalViewController:navControllerLogin animated:YES];

现在,即使 LoginViewController 在前面,TabBarController 也会在后台加载其内容。如何仅在 LoginViewController 上按下 Button 时才加载 TabBarController?

请帮帮我。

最佳答案

标签栏 Controller 每次都会加载,因为您将其设置为 rootViewController。

您应该将普通的 viewController 设置为根。如果登录成功,您应该调用要加载的 tabBarController。

换句话说,在 appDelegate 中应该只有登录窗口......而在 loginViewController 中,如果登录正常,你应该调用并加载你的 tabBarController 及其所有 Controller ......使用 Storyboard使它变得容易得多.

关于ios - 将 ViewController 推到 TabBarController 之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908498/

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