繁体   English   中英

非根位置IOS上的拆分视图控制器

[英]Split view controller at non root position IOS

嗨,我是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; 

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

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

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

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

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

希望这可以帮助。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM