更改导航根视图控制器时出现问题 [英] issue while changing Navigation Root View Controller

查看:24
本文介绍了更改导航根视图控制器时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个应用程序.第一个用户必须登录,然后他才允许使用该应用程序.

I am making an app. In which First User have to sign In then He allowed to use the app.

成功登录后,我希望用户直接切换到我的 HomeViewController.

After successful login I want the user to directly switch to my HomeViewController.

这是我更改导航根视图的代码,但它不起作用

Here is my code tho change navigation root view but it is not working

   TermsConditionsController *firstViewController = [[TermsConditionsController alloc]init];
   FirstPage *secondViewController =  [[FirstPage alloc]init];

   firstViewController.navigationController.viewControllers = [NSArray arrayWithObject: secondViewController];


FirstPage *nextScr = (FirstPage *) [self.storyboard instantiateViewControllerWithIdentifier:@"FirstPage"];
[self.navigationController pushViewController:nextScr animated:YES];

推荐答案

试试这个代码

注意:根据您的控制器更改控制器名称

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UINavigationController *navController;

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"loginUserDetails"]) {
    // Already logged in
    ProfileViewController *profileVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ProfileVC"];
    navController = [[UINavigationController alloc]initWithRootViewController:profileVC];
}else{
    // Not Login Yet
    LoginViewController *loginVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginVC"];
    navController = [[UINavigationController alloc]initWithRootViewController:loginVC];
}

self.window.rootViewController = navController;
}
// Write this code when user login successfully
if (/*Login Successfully*/) {
    // Then add loginUserDetails in userdefaults.
    [[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"loginUserDetails"];// Instead of nil pass here your object
    [[NSUserDefaults standardUserDefaults] synchronize];
}

这篇关于更改导航根视图控制器时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆