创建ViewController只在第一次运行iOS时运行应用程序

时间:2014-10-12 02:39:37

标签: ios objective-c iphone xcode

我正在开发一个应用程序,我想实现一个教程,该教程将在电话上运行应用程序时运行第一次。我已经设置了NSUserDefaults,并且可以在应用程序第一次运行后成功确定并标记该应用程序。我现在的问题是从Tutorial View Controller转到主视图控制器。

我当前的设置将主视图控制器设置为我的应用程序的根控制器,我的教程视图控制器需要显示,然后仅在应用程序第一次运行时才被解除。

实施它的最佳方法是什么?我想将它显示为模态视图,如果它检测到第一次运行,主视图控制器会显示它。有什么建议吗?

请注意,我没有使用Storyboards

2 个答案:

答案 0 :(得分:2)

简单地说,以编程方式选择根视图控制器。类似的东西:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if ([self isFirstLaunch])
    {
        self.window.rootViewController = [TutorialViewController new];
        [self setFirstLaunch NO];
    }
    else
    {
        self.window.rootViewController = [MyRegularRootViewController new]
    }
    [self.window makeKeyAndVisible];

    return YES;
}

答案 1 :(得分:0)

当您检测到首次启动时,我会采用您在根视图控制器顶部显示模态的方法。

使用presentViewController:animated:completion:显示它,并使用动画:设置为NO。这样它将出现在根视图控制器的顶部并覆盖它。然后,当您完成第一个视图控制器后,您可以将其关闭并在下面显示您的根视图控制器。