Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 关于使用故事板的选项卡栏_Ios_Uitabbarcontroller_Uitabbar_Uistoryboard - Fatal编程技术网

Ios 关于使用故事板的选项卡栏

Ios 关于使用故事板的选项卡栏,ios,uitabbarcontroller,uitabbar,uistoryboard,Ios,Uitabbarcontroller,Uitabbar,Uistoryboard,我想创建一个应用程序使用故事板,有登录窗口和选项卡栏控制器 因此,当点击登录按钮时,应用程序将被重定向到带有其视图的选项卡栏控制器 我已经这样做了: 但是提到 因为UITabBarController类继承自 UIViewController类,选项卡栏控制器有自己的视图 可以通过view属性访问。部署选项卡栏时 接口,则必须将此视图作为窗口的根安装。 与其他视图控制器不同,选项卡栏界面不应 作为另一个视图控制器的子级安装 那就是说我不能这么做 此外: 我的选项卡栏引用的3个视图,然后每个视图

我想创建一个应用程序使用故事板,有登录窗口和选项卡栏控制器

因此,当点击登录按钮时,应用程序将被重定向到带有其视图的选项卡栏控制器

我已经这样做了:

但是提到

因为UITabBarController类继承自 UIViewController类,选项卡栏控制器有自己的视图 可以通过view属性访问。部署选项卡栏时 接口,则必须将此视图作为窗口的根安装。 与其他视图控制器不同,选项卡栏界面不应 作为另一个视图控制器的子级安装

那就是说我不能这么做

此外:
我的选项卡栏引用的3个视图,然后每个视图都有自己的子视图,但子视图中的选项卡栏消失了。会发生什么?我遗漏了什么吗?

您可以先从appDelegate启动登录屏幕,然后设置并在登录成功后启动tabBarViewController

另一种设计是执行以下步骤: 1.设置tabBarViewController, 2.禁用选项卡, 3.以模式启动登录视图控制器, 4.启用选项卡ViewController选项卡


这两种方法都可以使用。

您可以先从appDelegate启动登录屏幕,然后在登录成功后设置并启动tabBarViewController

另一种设计是执行以下步骤: 1.设置tabBarViewController, 2.禁用选项卡, 3.以模式启动登录视图控制器, 4.启用选项卡ViewController选项卡


这两种方法中的任何一种都应该有效。

我在所有结构类似的应用程序中所做的是让第一个视图控制器检查有效身份验证,如果验证失败,则提供登录VC。该登录VC定义了一个委托,该委托将在成功登录后传回用户凭据,然后取消模式登录VC所做的一切

以下是一个布局示例:

委托协议如下所示:

@protocol LoginViewControllerDelegate
    -(void)finishedLoadingUserInfo:(UserInfo *)curUser;
@end
其中,
UserInfo
是我用于用户信息的模型(在我的例子中是NetworkID、FullName等)


当用户成功地进行了身份验证后,我触发了在呈现它的类中处理的委托方法。如果您需要更多详细信息,我可以提供帮助-但过程很简单。

我在所有结构类似的应用程序中所做的是让第一个视图控制器检查有效身份验证,如果验证失败,请提供登录VC。该登录VC定义了一个委托,该委托将在成功登录后传回用户凭据,然后取消模式登录VC所做的一切

以下是一个布局示例:

委托协议如下所示:

@protocol LoginViewControllerDelegate
    -(void)finishedLoadingUserInfo:(UserInfo *)curUser;
@end
其中,
UserInfo
是我用于用户信息的模型(在我的例子中是NetworkID、FullName等)

当用户成功地进行了身份验证后,我触发了在呈现它的类中处理的委托方法。如果你需要更多的细节,我可以帮你-但过程很简单