Перед прочтением вопроса, пожалуйста, посмотрите это видео , чтобы вы поняли проблему / проблему в приложении.
Я пытаюсь сделать следующее:
Случай 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;
}
В доместраница, после нажатия левой кнопки навигации боковое меню не открывается/showing.
Какой код отсутствует в классе AppDelegate
?
Вот полный исходный код