如何从我的应用代表提供设置屏幕?

时间:2013-10-06 21:29:00

标签: ios objective-c

我有第一次设置屏幕,我希望仅在首次运行应用程序时显示。我有一个带有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];

但是,每次启动应用程序时,这只会带来黑屏。可能是我想念的简单,但帮助会很棒。

1 个答案:

答案 0 :(得分: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];