Ios 如何使用故事板设置条件初始viewcontroller
我想设置一个身份验证过程,用户将首先被引导到一个登录屏幕,在那里他们可以输入他们的凭据,并且只有在身份验证成功的情况下才会被引导到主页 根据在线()找到的教程,我知道我可以使用代理来完成这项工作。但是我不知道Ios 如何使用故事板设置条件初始viewcontroller,ios,uiviewcontroller,swift2,Ios,Uiviewcontroller,Swift2,我想设置一个身份验证过程,用户将首先被引导到一个登录屏幕,在那里他们可以输入他们的凭据,并且只有在身份验证成功的情况下才会被引导到主页 根据在线()找到的教程,我知道我可以使用代理来完成这项工作。但是我不知道 其中我的应用程序:使用选项完成启动:方法 如何实例化viewcontroller 将其推到导航控制器 我怎么知道该怎么做呢?选择你的故事板->打开“显示属性检查器->视图中的控制器”选项选中“初始视图控制器” 如果我正确理解了你的问题。如果用户未登录,您希望将其指向登录视图。否则,您将
- 其中我的
方法应用程序:使用选项完成启动:
- 如何实例化
viewcontroller
- 将其推到导航控制器
我怎么知道该怎么做呢?选择你的故事板->打开“显示属性检查器->视图中的控制器”选项选中“初始视图控制器”
如果我正确理解了你的问题。如果用户未登录,您希望将其指向登录视图。否则,您将引导他/她进入主视图 您可以这样尝试:
- (void)viewDidLoad
{
if(isUserLoggedIn)
{
[self loadMainView];
}
else
{
[self loadLoginView];
}
}
- (void)loadMainView
{
UIViewController mainViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainView"];
[self addChildViewController:mainViewController];
[self.view addSubview:mainViewController.view];
[mainViewController didMoveToParentViewController:self];
[mainViewController.view setFrame:self.view.bounds];
}
- (void)loadLoginView
{
UIViewController loginViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginView"];
[self addChildViewController:loginViewController];
[self.view addSubview:loginViewController.view];
[loginViewController didMoveToParentViewController:self];
[loginViewController.view setFrame:self.view.bounds];
}
注意:不需要在容器和其他两个视图控制器之间设置segue
希望这有帮助。:)
将您的登录屏幕设置为初始视图控制器,然后执行登录过程。如果成功,请使用以下代码将应用导航到主屏幕,否则请留下相应的消息
希望这有帮助。我非常喜欢这个。也许有几种更“聪明”的方法可以做到这一点,但这是干净和简单的,并且在每个人都能够跟随的真实范围内。太多“聪明”的解决方案最终成为一年后要维持的PITA(a$$中的痛苦)。所以,偷了这个主意;)谢谢问题是关于有条件地设置初始视图控制器
// you need to create UIStoryboard object by giving name of your storyboard
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
// here you need to create storyboard ID of perticular view where you need to navigate your app
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"viewContIdentifire"];
// if use presentViewController this will not enables you to go back to previous view
[self presentViewController:vc animated:NO completion:nil];
**// OR**
// using pushViewController lets you to go back to the previous view
[self.navigationController pushViewController:vc animated:YES];