我有第一次设置屏幕,我希望仅在首次运行应用程序时显示。我有一个带有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];
但是,每次启动应用程序时,这只会带来黑屏。可能是我想念的简单,但帮助会很棒。
答案 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];