【问题标题】:Presenting a modal view from a UITabBarController从 UITabBarController 呈现模式视图
【发布时间】:2014-11-25 17:38:48
【问题描述】:

我在这里检查了各种答案,但找不到一个有效的答案。我有一个常规的基于 TabBarController 的应用程序。我想在启动时显示登录屏幕。我所做的是

  • 子类化 UITabBarController 并在 viewDidAppear 中实现以下内容:

    LoginViewController *controller = (LoginViewController *)[[UIStoryboard storyboardWithName:@"Main" bundle: nil] instantiateViewControllerWithIdentifier:@"LoginVC"]; [self presentViewController:controller animated:YES completion:nil];

一旦运行,会发生两件事: 1.登录视图永远不会出现 2. 日志有这样的:警告:试图展示其视图不在窗口层次结构中!

我错过了什么?

【问题讨论】:

  • 您的新子类是否设置为窗口的根视图控制器?
  • 我更新了故事板说 UITabBarController 是 MyTabBarController。是来自应用程序:didFinishLaunchingWithOptions : (lldb) po self.window.rootViewController
  • Hmnn .. 在故事板上它说标签栏控制器。如果我去检查员检查自定义类,它会显示 MyTabBarController
  • 看看这里提出的解决方案:stackoverflow.com/questions/15287678/…
  • 实际上没有任何工作.. 我从那里得到的唯一想法是 UITabBarController 可能不是显示视图的正确位置,因为 tabbarcontroller 中的第一个视图控制器可能还没有准备好,所以我将代码移动到 TabBarController 显示的第一个 ViewController,但它显示:2014-09-30 16:46:36.753 myapp[45844:3321157] 不鼓励在分离的视图控制器上呈现视图控制器 。 2014-09-30 16:46:37.329 myapp[45844:3321157] 对 的开始/结束外观转换的不平衡调用。

标签: ios uitabbarcontroller


【解决方案1】:

rdelmar 回答修复了警告,即在 viewDidAppear 中进行演示。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    相关资源
    最近更新 更多