仅第一次显示教程视图



我正在尝试创建一个仅在应用程序开放期间显示的教程屏幕。我知道我应该使用用户默认值,但是如何以及在哪里?在方法中,ViewDidload或App委托类?

尝试这个

- (BOOL)isAppAlreadyLaunchedOnce {
    BOOL isRememberMe = [[NSUserDefaults standardUserDefaults]boolForKey:@"isAppAlreadyLaunchedOnce"];
    if (isRememberMe) {
        return YES;
    }
    else{
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isAppAlreadyLaunchedOnce"];
        return NO;
    }
}

存储状态,无论是否在NSUserDefaults中显示教程视图

如果您想在启动时决定显示或不显示教程视图您应该在 App app demegate didFinishLaunchingWithOptions

中进行此操作。
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"shouldShowTutorial"])
//show tutorial
}
else{
//don't show tutorial
}

第一次显示教程视图NSUserDefaults中设置标志。

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"shouldShowTutorial"];

@maddy给出了正确的答案,但让我澄清一下为什么我们不使用 viewDidload ?为什么我们使用 didfinishlaunch

简而言之:

ViewDidload

系统已经决定在应用程序启动时加载哪种视图。默认情况下," main" 故事板的初始视图控制器

didfinishlaunch

系统已完成所有任务以显示您的应用程序,但尚未决定加载哪种视图。这就是为什么您可以在此处控制您的教程屏幕的原因。:(

最新更新