我无法在 self.window 上推送带有导航控制器的登录视图控制器



我有一个pageViewController作为rootViewController,然后我想在pageViewController上方显示一个登录视图,如果不登录。

NLLoginViewController *loginVC = [[NLLoginViewController alloc]init];
UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:loginVC];
[self.window addSubview:navigation.view];

你应该做以下事情

self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
NLLoginViewController *loginVC = [[NLLoginViewController alloc]initWithNibName:@"NLLoginViewController" bundle:nil];
PageViewController *pageVC = [[PageViewController alloc]initWithNibName:@"PageViewController" bundle:nil];
UINavigationController *navigation
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"is_SignedIn"]))
  navigation = [[UINavigationController alloc]initWithRootViewController:logindVC];
else
   navigation = [[UINavigationController alloc]initWithRootViewController:pageVC];
self.window.rootViewController = navigation;

之后在登录视图控制器中,您必须设置

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"is_SignedIn"];

请尝试这个

UIStoryboard *   storyboard = [UIStoryboard storyboardWithName:@"yourStorybordname" bundle:nil];
  NLLoginViewController *loginvc= [storyboard instantiateViewControllerWithIdentifier:@"yourviewControllerid"];
            UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:loginvc];
            self.window.rootViewController = navController;

相关内容

最新更新