我想设置一个身份验证过程,首先将用户定向到一个登录屏幕,在那里他们可以输入他们的凭据,并且只有在成功通过身份验证后才会被定向到主页。
根据在线发现的教程(http://sapandiwakar.in/programatically-set-the-initial-view-controller-using-storyboards/),我了解到我可以使用代理人这样做。但是我不知道
application:didFinishLaunchingWithOptions:
方法 viewcontroller
navigationcontroller
我怎么知道怎么做?
答案 0 :(得分:2)
如果我理解你的问题。如果他/她未登录,您希望将用户定向到登录视图。否则,您将指导他/她进入主视图。
您可以尝试这种方式:
以下是一个示例:
在 ContainerViewController.m :
中- (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。
希望这会有所帮助。 :)
答案 1 :(得分:0)
答案 2 :(得分:0)
将您的登录屏幕设置为初始视图控制器,然后执行登录过程,如果使用以下代码成功导航应用程序到主屏幕,则留下相应的消息..
// 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];
希望这会有所帮助..