gpt4 book ai didi

ios - 应用程序启动期间 UITabBarController 顶部的 ModalView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:49 25 4
gpt4 key购买 nike

我有点不知所措......

我有一个基于标签栏的应用程序,开始时带有登录屏幕。在标签栏 Controller 出现之前,登录屏幕应该作为模态视图 Controller 完成。

问题是我只能在 TabBarController 的 viewDidAppear: 方法中显示它。用户可以看到 UITabBarController 的半秒内容。我试图将调用移动到 viewDidLoad:viewWillAppear: 但它在控制台中记录了一个错误:“whose view is not in the window hierarchy!”。据我所知,您只能在加载 UITabBarController 的所有子 UIViewControllers 时添加 ModalViewController,广告发生在 viewDidAppear: 委托(delegate)方法中。

您是否有任何解决方案如何在不显示 TabBarController 的情况下显示登录屏幕?

我已经尝试了两种显示 ModalViewController 的方法,它们都只在 viewDidAppear: 中工作

  1. 带有登录 View 并使用 presentViewController: 代码的 XIB 文件

    self.loginController = [[LoginViewController alloc] init];
    [self presentViewController:self.loginController animated:NO completion:nil];
  2. Storyboard、模态转场并从代码中调用它:

    [self performSegueWithIdentifier:@"loginScreen" sender:self];

最佳答案

您可以考虑将登录屏幕推送到导航堆栈,而不是模式。在 viewWillAppear: 中,您可以实例化您的登录 viewController 并推送它。如果愿意,您也可以在 viewDidLoad 中执行此操作。

-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];

[self.navigationController pushViewController:yourInstantiatedLoginViewController animated:NO];

}

关于ios - 应用程序启动期间 UITabBarController 顶部的 ModalView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005791/

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