我有一个 Storyboard 应用程序,它的根视图控制器是UITableViewController
.
有时当我启动应用程序时,我需要提供一个视图控制器(不需要笔尖或任何东西)。这就是我试图做到这一点的方式:
在我的UIApplicationDelegate
application:application didFinishLaunchingWithOptions:
:
SplashViewController * splashViewController = [[SplashViewController alloc] init];
splashViewController.semaphore = semaphore;
[self.window.rootViewController presentViewController:splashViewController animated:NO completion:nil];
问题是,此时它还UITabBarController
没有在视图层次结构中,所以我收到了这个警告:
Warning: Attempt to present <SplashViewController: 0xa786a10> on <UITabBarController: 0xb35d830> whose view is not in the window hierarchy!
将此代码从 AppDelegate 移动到viewDidLoad
第一个视图控制器的代码UITableViewController
并不正确,因为我需要在我的 AppDelegate 中创建一些属性,只是为了让我的第一个视图控制器构建该视图。这个逻辑不适合那里。
呈现这个视图控制器的正确方法是什么?