在阅读问题之前,请先观看此视频,以便您了解应用程序中的问题/问题。
我想做的是,
案例 1:如果用户未登录应用程序,则打开应用程序登录视图后将打开并在提供用户名和密码后导航到主页。
案例 2:如果用户已经登录,那么在启动应用程序后它将返回主页。
我写了代码来存档这个,
在登录页面中,登录按钮的代码
- (IBAction)loginButton:(id)sender {
[self->userdefaults setBool:YES forKey:@"loginSuccess"];
[userdefaults synchronize];
HomeViewController *home=[self.storyboard instantiateViewControllerWithIdentifier:@"homeId"];
[self.navigationController pushViewController:home animated:YES];
}
我在 中存储一个值NSUserDefaults
,在重新启动或打开应用程序后,在AppDelegate
课堂上我正在检查NSUserDefaults
具有该值的条件,如果是,那么它将显示直接主页,否则它将登录页面。
检查下面写在AppDelegate
课堂上的代码,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
userdefaults=[NSUserDefaults standardUserDefaults];
mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"loginSuccess"]) {
NSLog(@"Login Done!!!");
HomeViewController *homeVC=[mainStoryboard instantiateViewControllerWithIdentifier:@"homeId"];
SampleNavigationController *navigation = [[SampleNavigationController alloc] initWithRootViewController:homeVC];
// SWRevealViewController * vc= [[SWRevealViewController alloc]init];
// ExpandableTableViewController *sidemenu = (ExpandableTableViewController*)[mainStoryboard instantiateViewControllerWithIdentifier:@"sideMenu"];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = navigation;
[self.window makeKeyAndVisible];
}else
{
LoginViewController *loginVC=[mainStoryboard instantiateViewControllerWithIdentifier:@"LoginId"];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = loginVC;
[self.window makeKeyAndVisible];
}
return YES;
}
在主页中,单击左侧导航按钮后侧菜单视图未打开/显示。
课堂上缺少什么代码AppDelegate
?