仅在首次启动时显示教程屏幕
Showing Tutorial Screen only on first launch
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
MenuViewController *menu=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"home"];
MainNavigationController *navController=[[MainNavigationController alloc]initWithRootViewController:menu];
self.window.rootViewController=navController;
}
else
{
LaunchViewController *vc=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"tutorial"];
self.window.rootViewController=vc;
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return YES;
}
我在上面的应用程序委托中使用以下代码仅在第一次启动时显示 Launchviewcontroller,但由于某种原因它不起作用!
我不确定,但有时我无法将 Bool 值添加到 NSUserDefaults,让我们尝试使用 NSString(示例:HasLaunchedOnce = @"0"/@"1")
对于我要做的,我将首先从菜单中选择 iOS 模拟器来重置模拟器。然后,选择重置内容和设置。它将清除所有 NSUserDefaults 数据。因此,我可以更清楚地知道问题是什么。
- application: didFinishLaunchingWithOptions:
方法只会在您启动时调用。这意味着当你只是从后台过渡到前台时,它不会被调用。
我想你可能需要了解这个过程。希望这对您有所帮助。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
MenuViewController *menu=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"home"];
MainNavigationController *navController=[[MainNavigationController alloc]initWithRootViewController:menu];
self.window.rootViewController=navController;
}
else
{
LaunchViewController *vc=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"tutorial"];
self.window.rootViewController=vc;
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return YES;
}
我在上面的应用程序委托中使用以下代码仅在第一次启动时显示 Launchviewcontroller,但由于某种原因它不起作用!
我不确定,但有时我无法将 Bool 值添加到 NSUserDefaults,让我们尝试使用 NSString(示例:HasLaunchedOnce = @"0"/@"1")
对于我要做的,我将首先从菜单中选择 iOS 模拟器来重置模拟器。然后,选择重置内容和设置。它将清除所有 NSUserDefaults 数据。因此,我可以更清楚地知道问题是什么。
- application: didFinishLaunchingWithOptions:
方法只会在您启动时调用。这意味着当你只是从后台过渡到前台时,它不会被调用。
我想你可能需要了解这个过程。希望这对您有所帮助。