1

我想使用具有登录窗口和标签栏控制器的情节提要创建一个应用程序。

因此,流程将在点击登录按钮后,应用程序将被重定向到标签栏控制器及其视图。

我已经这样做了: 在此处输入图像描述

但参考苹果文档:UITabBarController

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

所以这意味着我不允许这样做?

另外: 我的tab bar引用的3个view,那么每个view又多了自己的child view,但是child view中的tab bar没有了。可能会发生什么?我错过了什么吗?

4

2 回答 2

1

我在所有结构相似的应用程序中所做的是让第一个视图控制器检查有效身份验证,如果失败,则显示登录 VC。该登录 VC 定义了一个委托,它将在成功登录后传回用户凭据,然后关闭模式登录 VC 所做的任何事情。

这是一个示例布局: 布局

委托协议如下所示:

@protocol LoginViewControllerDelegate
    -(void)finishedLoadingUserInfo:(UserInfo *)curUser;
@end

UserInfo我用于用户信息的模型在哪里(在我的例子中是 NetworkID、FullName 等)。

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

于 2012-11-13T02:35:27.423 回答
0

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

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

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

于 2012-11-13T02:05:34.477 回答