Ios 在选项卡栏控制器之前添加视图控制器

Ios 在选项卡栏控制器之前添加视图控制器,ios,uitabbarcontroller,Ios,Uitabbarcontroller,我是objective-c和ios编程新手。我正在构建一个tabbar应用程序。但在加载选项卡栏视图控制器之前。我想加载一个“登录屏幕” -我做到了一半 我创建了一个新的tabbar应用程序。 我添加了一个新的视图控制器,使其成为“初始”视图控制器,创建了一个新的objective-c类,并将其关联到新的视图控制器 现在,在检查用户用户名/密码后,如何加载tabbar视图控制器?最好/最简单的方法可能是不要在开始时使用UITabBarController 让您的LoginViewControll

我是objective-c和ios编程新手。我正在构建一个tabbar应用程序。但在加载选项卡栏视图控制器之前。我想加载一个“登录屏幕”

-我做到了一半

我创建了一个新的tabbar应用程序。 我添加了一个新的视图控制器,使其成为“初始”视图控制器,创建了一个新的objective-c类,并将其关联到新的视图控制器


现在,在检查用户用户名/密码后,如何加载tabbar视图控制器?

最好/最简单的方法可能是不要在开始时使用
UITabBarController


让您的
LoginViewController
成为
窗口的
rootViewController
,直到用户登录。然后将其更改为
UITabBarController
(不包括登录视图)。您可以在
AppDelegate.m
文件中执行此操作。

执行此操作的最佳/最简单方法可能是在开始时不使用
UITabBarController


让您的
LoginViewController
成为
窗口的
rootViewController
,直到用户登录。然后将其更改为
UITabBarController
(不包括登录视图)。您可以在
AppDelegate.m
文件中执行此操作。

我会将选项卡栏控制器保留为根视图控制器。在
视图显示
中,检查用户是否已登录,如果未登录,则以不带动画的方式显示登录视图控制器

UIViewController *loginVC = [UIStoryboard storyboardWithName:@"storyboard" instantiateViewControllerWithIdentifier:@"Login"];
[self presentViewController:loginVC animated:NO completion:nil];
当用户成功登录时,您可以取消登录VC。它将向下滑动,显示您的选项卡式布局


如果您需要更复杂的登录层次结构(可能需要打开注册视图或“you failed to login”视图等),您可以将登录视图控制器嵌入导航控制器中,并将其显示出来。

我将保留选项卡栏控制器作为根视图控制器。在
视图显示
中,检查用户是否已登录,如果未登录,则以不带动画的方式显示登录视图控制器

UIViewController *loginVC = [UIStoryboard storyboardWithName:@"storyboard" instantiateViewControllerWithIdentifier:@"Login"];
[self presentViewController:loginVC animated:NO completion:nil];
当用户成功登录时,您可以取消登录VC。它将向下滑动,显示您的选项卡式布局


如果您需要更复杂的登录层次结构(可能需要打开注册视图或“you failed to login”视图等),您可以将登录视图控制器嵌入导航控制器中,并将其显示出来。

Dima,感谢您的快速回复。所以我做了以下工作:在AppDelegate.h中导入了我的LoginViewController,创建了一个新属性。然后在我的AppDelegate.m中,在didfishlaunchingwithoptions下;我添加了:self.window.rootViewController=self.loginController。当我运行它时,屏幕显示为黑色,我得到一个“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”Dima,感谢您的快速回复。所以我做了以下工作:在AppDelegate.h中导入了我的LoginViewController,创建了一个新属性。然后在我的AppDelegate.m中,在didfishlaunchingwithoptions下;我添加了:self.window.rootViewController=self.loginController。当我运行它时,屏幕显示为黑色,我得到一个“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”你是在使用情节提要还是通过编程实现的?你是在使用情节提要还是通过编程实现的?你能详细说明第三段吗?或者创建一个教程?:)谢谢。你能详细说明第三段吗?或者创建一个教程?:)谢谢。