在ipad应用程序启动时显示模态视图

dea*_*ane 6 uiapplicationdelegate presentmodalviewcontroller ios5 uistoryboard

我想在启动ipad应用程序时有条件地显示登录屏幕.我不想让它成为默认segue的一部分,因为它们只需要定期登录,而不是每次都登录.

我的问题有很多 例子,但它们似乎都早于ios5.然而,当我使用故事板时,似乎没有任何效果.

为了减少这一点,*创建一个新的单一视图应用程序,使用storyboard*为故事板添加一个新的viewcontroller,给它一个标识符"loginScreen"*在每个视图上放置一个文本标签,以便在视觉上区分它们.*在appDelegate中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIStoryboard *storyboard = [self.window.rootViewController storyboard];
    UIViewController *loginController = [storyboard instantiateViewControllerWithIdentifier:@"loginScreen"];
    [self.window.rootViewController presentModalViewController:loginController animated:TRUE];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

从我看到的例子来看,这应该有效.但它仍然始终显示原始的rootViewController视图.虽然没有错误.

任何人都可以指出我错过的(可能很小的)事情吗?

dea*_*ane 2

事实证明,该应用程序在该didFinishLaunching方法中并未处于活动状态。

放置此内容的正确位置是

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    UIStoryboard *storyboard = self.window.rootViewController.storyboard;
    UIViewController *loginController = [storyboard instantiateViewControllerWithIdentifier:@"loginScreen"];
    [self.window.rootViewController presentModalViewController:loginController animated:NO];
}
Run Code Online (Sandbox Code Playgroud)