Ios 如何使用故事板设置条件初始viewcontroller

Ios 如何使用故事板设置条件初始viewcontroller,ios,uiviewcontroller,swift2,Ios,Uiviewcontroller,Swift2,我想设置一个身份验证过程,用户将首先被引导到一个登录屏幕,在那里他们可以输入他们的凭据,并且只有在身份验证成功的情况下才会被引导到主页 根据在线()找到的教程,我知道我可以使用代理来完成这项工作。但是我不知道 其中我的应用程序:使用选项完成启动:方法 如何实例化viewcontroller 将其推到导航控制器 我怎么知道该怎么做呢?选择你的故事板->打开“显示属性检查器->视图中的控制器”选项选中“初始视图控制器” 如果我正确理解了你的问题。如果用户未登录,您希望将其指向登录视图。否则,您将

我想设置一个身份验证过程,用户将首先被引导到一个登录屏幕,在那里他们可以输入他们的凭据,并且只有在身份验证成功的情况下才会被引导到主页

根据在线()找到的教程,我知道我可以使用代理来完成这项工作。但是我不知道

  • 其中我的
    应用程序:使用选项完成启动:
    方法
  • 如何实例化
    viewcontroller
  • 将其推到导航控制器

我怎么知道该怎么做呢?

选择你的故事板->打开“显示属性检查器->视图中的控制器”选项选中“初始视图控制器”


如果我正确理解了你的问题。如果用户未登录,您希望将其指向登录视图。否则,您将引导他/她进入主视图

您可以这样尝试:

  • 添加视图控制器并使其成为“容器视图控制器”
  • 将此“容器视图控制器”设置为初始视图控制器,当用户打开应用程序时,它将成为入口视图控制器
  • 在此视图控制器的viewDidLoad方法下,必须检查用户是否已登录
  • 如果用户未登录,请在容器中加载登录视图,否则加载主视图
  • 以下是一个示例:

    在您的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

    希望这有帮助。:)

    将您的登录屏幕设置为初始视图控制器,然后执行登录过程。如果成功,请使用以下代码将应用导航到主屏幕,否则请留下相应的消息


    希望这有帮助。

    我非常喜欢这个。也许有几种更“聪明”的方法可以做到这一点,但这是干净和简单的,并且在每个人都能够跟随的真实范围内。太多“聪明”的解决方案最终成为一年后要维持的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];