嗨,我是IOS开发的新手。 我正在开发要使用拆分视图的小型应用程序。 但是那个分割视图不是我的根视图。 我的应用程序从没有拆分视图的登录名开始。 登录后,我想启动我的主视图,即拆分视图控制器。 所以这是我的问题,如果我将主视图设置为根视图,即我的应用程序的起点,它可以正常工作。 但是,如果我将登录控制器设置为根控制器,那么它将给出异常。 在我的AppDelegate中,我要设置以下内容:

   UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;

    UINavigationController *masterNavigationController = [splitViewController.viewControllers objectAtIndex:0];
    SidePannelViewController *controller = (SidePannelViewController *)masterNavigationController.topViewController;
    controller.splitViewController = splitViewController;
    splitViewController.delegate = (id)controller; 

一旦我将主视图设置为根控制器,它就可以正常工作。 如何解决这个问题呢? 需要帮忙。 我想保持我的登录屏幕为普通登录视图控制器,并在登录后启动拆分视图控制器。 谢谢。

===============>>#1 票数:1

您可以在拆分视图控制器的顶部以模态形式显示LoginScreen,否则可以最初将LoginScreen设置为rootViewController,然后替换为SplitViewController作为rootController。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    [self performSegueWithIdentifier:@"showLogin" sender:self];
}

用户成功登录后,退出登录屏幕。

希望这可以帮助。

===============>>#2 票数:0

您可以在用户未登录时将LoginViewController设置为根视图控制器,如果用户已登录,则可以将根更改为拆分视图。只需将checkIn didFinishLaunchingWithOptions方法放入即可检查用户是否已登录并进行设置您的根源。

  ask by nilkash translate from so

未解决问题?本站智能推荐: