-1

我有一个第一次设置屏幕,我希望只在第一次运行应用程序时显示。我有一个带有 5 个选项卡的选项卡栏控制器和一个将在初始运行时出现的独立视图控制器。在设置屏幕上单击 UIButton 后,它会返回到选项卡栏导航,并显示第一个选项卡。到目前为止,在我的应用程序委托中,我有这个:

// Override point for customization after application launch.

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"First Time"];
[[NSUserDefaults standardUserDefaults] synchronize];

if([[NSUserDefaults standardUserDefaults] boolForKey:@"First Time"] == YES)
{
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"First Time"];
    [[NSUserDefaults standardUserDefaults] synchronize];


    SSSetupScreenViewController *setupController = [[SSSetupScreenViewController alloc] init];
    [(UINavigationController *)self.window.rootViewController pushViewController:setupController animated:NO];

但是,这只会在每次启动应用程序时带来黑屏。可能我缺少一些简单的东西,但帮助会很棒。

4

1 回答 1

0

您不能在开始时将其设置为 YES,因为它在第二次运行时也会这样做。

以下怎么样?:

// Override point for customization after application launch.

if([[NSUserDefaults standardUserDefaults] objectForKey:@"First Time"] == nil)
{
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"First Time"];
    [[NSUserDefaults standardUserDefaults] synchronize];


    SSSetupScreenViewController *setupController = [[SSSetupScreenViewController alloc] init];
    [(UINavigationController *)self.window.rootViewController pushViewController:setupController animated:NO];
于 2013-10-06T21:35:22.990 回答