[英]First time open app turns all time to tutorial screen
I want to show a screen tutorial only first time you open the app. 我只想在您第一次打开应用程序时显示一个屏幕教程。 But the problem is when i navigate to my app first time and go back to rootviewcontroller all time shows tutorial screen. 但是问题是,当我第一次导航到我的应用程序并一直返回到rootviewcontroller时,始终显示教程屏幕。 And i want to show "Menu" screen. 而且我想显示“菜单”屏幕。
How could i set like RootViewController my MenuViewController after tutorial screen? 教程屏幕显示后如何设置RootViewController我的MenuViewController?
Thank you! 谢谢!
I have this code in appdelegate.m : 我在appdelegate.m中有以下代码:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([[[NSUserDefaults standardUserDefaults] valueForKey:@"ISFIRSTTIME"] isEqualToString:@"NO"]) {
controller = [[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil];
}
else {
controller = [[TutorialViewController alloc] initWithNibName:@"TutorialViewController" bundle:nil];
}
_navController = [[UINavigationController alloc] initWithRootViewController:controller];
[self.window setRootViewController:_navController];
[self.window makeKeyAndVisible];
set in else condition, 设置在其他条件下
[[NSUserDefaults standardUserDefaults]setValue:@"NO" forKey:@"ISFIRSTTIME"];
[[NSUserDefaults standardUserDefaults] synchronize];
Here I am doing like this in my one project, 在这里,我在一个项目中就是这样
NSString *identifier;
BOOL isSaved = [[NSUserDefaults standardUserDefaults] boolForKey:@"loginSaved"];
if (isSaved)
{
identifier=@"home1";
}
else
{
identifier=@"dis1";
}
UIStoryboard * storyboardobj=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *screen = [storyboardobj instantiateViewControllerWithIdentifier:identifier];
[self.window setRootViewController:screen];
hope this will help :) 希望这会有所帮助:)
Do something like, 做类似的事情,
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([[[NSUserDefaults standardUserDefaults] valueForKey:@"ISFIRSTTIME"] isEqualToString:@"NO"]) {
controller = [[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil];
}
else {
controller = [[TutorialViewController alloc] initWithNibName:@"TutorialViewController" bundle:nil];
}
_navController = [[UINavigationController alloc] initWithRootViewController:controller];
[self.window setRootViewController:_navController];
[self.window makeKeyAndVisible];
//Setting "ISFIRSTTIME" to "NO" : it will be "NO" after first time you open the app
[[NSUserDefaults standardUserDefaults]setValue:@"NO" forKey:@"ISFIRSTTIME"];
[[NSUserDefaults standardUserDefaults] synchronize];
Compare it with the object not the method. 与对象而不是方法进行比较。 Like take bool isfirsttime = your NSuserdefault method. 就像take bool isfirsttime =您的NSuserdefault方法。 Use if (isfirsttime) 使用(第一次)
{} Else {} {}其他{}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.