首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据登录与否在AppDelegate中选择AppDelegate

根据登录与否在AppDelegate中选择AppDelegate
EN

Stack Overflow用户
提问于 2014-05-14 13:52:24
回答 1查看 332关注 0票数 0

我试图根据用户已经登录的应用程序或not.if用户登录的情况来显示选定的not.if,然后它应该显示HomeViewController,如果没有,则应该显示InitialViewController.My初始StoryBoard is MainStoryBoard和LoginVC in InitialStoryBoard。下面是我的示例代码和修复此issue.can的挣扎的大量代码--任何人都可以帮助解决这个问题。

/- (BOOL)应用程序:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions* / BOOL isLoggedIn = [NSUserDefaults NSLog(isLoggedIn?@Yes“:@No”);NSLog(NSUserDefaults standardUserDefaultsboolForKey:@“isLoggedIn”)?@“是”:@“No”;if (!isLoggedIn) { NSString * device2 2;if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { device2 = @"InitialStoryboard_iPad";}NSLog{device2= @"InitialStoryboard_iPhone";}NSLog(@“设备:%@",device2);UIStoryboard *storyboard2 = UIStoryboard storyboardWithName:device2bundle:nil;InitialVC *initialController = storyboard2 instantiateInitialViewController;// (UINavigationController *)self.window.rootViewController pushViewController:initialController动画:YES:nil;/ (UINavigationController *)self.window.rootViewController pushViewController:initialController动画:NO;self.window = [UIWindow alloc initWithFrame:[UIScreen mainScreen界]];self.window.rootViewController = initialController;self.window.rootViewController;}

如果登录成功,那么我不能dismissCurrentVC作为初始RootVC,.If登录成功,那么它应该使DismissVC,如果MainStoryBoard是初始Storyboard.or登录成功,应该使HomeVC PresentVCModally,如果InitialStoryBoard是InitialStoryboard.Hope,您可以理解我的问题。

提前谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-05-14 14:18:59

不使用不同的故事板,我建议您只使用一个故事板(每个设备),其中包含RootVC和LoginVC。(RootVC是默认的初始VC)

代码语言:javascript
复制
if([[NSUserDefaults standardUserDefaults] stringForKey:@"userName"].length){
    NSLog(@"User Logged In, Show Root VC");
    //RootVC is Default.
}else{
    NSLog(@"User Not Logged In, Show Login NVC");
    self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"LoginNVC"];
}

用户登录后,您可以切换回rootVC:

代码语言:javascript
复制
- (void)loginAndShowRootVC{
    self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"RootVCID"];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23656663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档