指令屏幕ios目标c

时间:2017-06-10 10:04:57

标签: ios objective-c

请帮助,我试图在我的应用程序中使用欢迎屏幕,仅显示第一次说明。我使用NSuserDefultes 在教程视图控制器

NSUserDefaults *defaults;
defaults = [NSUserDefaults standardUserDefaults];
    [defaults boolForKey:@"HasLaunchedOnce"];
    [defaults synchronize]; 

在app delegate中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
    {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

    return YES;
}

此代码有什么问题?

2 个答案:

答案 0 :(得分:0)

我无法理解调用每个示例代码的位置,因此我将尝试描述实现该代码的一般方法。

在显示教程之前,您应该检查它是否是第一次启动,如下所示:

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
    [self displayTutorial];

displayTutorial是一个提供教程视图控制器的方法。

在教程视图控制器的viewDidLoad内,将布尔值设置为true,如下所示:

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

这样,教程视图控制器只会显示一次。

答案 1 :(得分:0)

您在应用的.plist文件中选择的主/默认故事板始终会在应用启动时显示。你无法做出这种条件。

如果你想要一些条件启动屏幕,你必须在默认启动屏幕消失后自己实现,如Moe Abdul-Hameed建议。