关于使用情节提要的标签栏

Posted

技术标签:

【中文标题】关于使用情节提要的标签栏【英文标题】:About tab bar using storyboard 【发布时间】:2012-11-13 01:55:51 【问题描述】:

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

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

我已经这样做了:

但是指Apple Documentation: UITabBarController

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

也就是说我不能这样做?

另外: 我的标签栏引用的3个视图,然后每个视图又有自己的子视图,但是子视图中的标签栏不见了。可能会发生什么?我错过了什么吗?

【问题讨论】:

【参考方案1】:

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

这是一个示例布局:

委托协议如下所示:

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

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

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于关于使用情节提要的标签栏的主要内容,如果未能解决你的问题,请参考以下文章

如何在情节提要上更改标签栏背景颜色和标签栏项目颜色

标签栏项目未显示在情节提要中

没有 TabBarController 的标签栏 - 为情节提要中的标签栏项目添加视图控制器

在情节提要中向标签栏控制器场景添加按钮

如何将标签栏控制器插入情节提要?

添加情节提要参考时,标签栏控制器项目上不显示任何内容