ios - 如何快速将多个 View 连接到单个选项卡栏项目?

标签 ios swift tabview

我有一个标签栏 Controller ,它有两个项目连接到两个 View Controller (比如 A 和 B),现在我想添加第三个 View Controller (比如 C)。但我不想在选项卡 View 中添加第三个图标。当用户选择第二个图标时,它应该呈现 B 或 C,具体取决于用户是否已登录。

Storyboard Setup

最佳答案

只需为要根据上下文显示不同 View 的选项卡栏项创建另一个 View Controller 。我们称它为 RouterViewController。然后将决定显示哪个 View Controller 所需的信息传递给 RouterViewController 并在那里实现必要的逻辑。

RouterViewController 您现在可以呈现任何您想要的 View Controller (没有动画)。有很多方法可以做到这一点,例如:

  • 让您的 RouterViewController 成为 UINavigationController 的子类,并动态设置其 rootViewController 属性。
  • 使您的 RouterViewController 成为容器 View Controller ,并相应地嵌入所需的 View Controller 。
  • 从您的 RouterViewController 中以模态方式(无动画)呈现 View Controller 。 (我个人不建议使用此选项,因为呈现模态视图 Controller 是为了其他目的。)

等等

关于ios - 如何快速将多个 View 连接到单个选项卡栏项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43438169/

相关文章:

android - 如何刷新一次调用后从Android tabview调用的webview

primefaces - 是否可以手动重置 Primefaces 选项卡以强制重新加载

ios - 二进制表达式的操作数无效错误

ios - 使用 Appcelerator 在客户端存储密码 - 设计方法

swift - 为什么常量约束结构实例的属性而不是类实例的属性?

Primefaces p :confirmDialog inside tabView

php - iOS gzip 压缩到 PHP

iphone - 通用 UIViewController

ios - 如何子类化 UICollectionViewFlowLayout 以便可以覆盖 layoutAttributesForElementsInRect

ios - 当手指从一个按钮拖动到下一个按钮时如何触发 UIButton 事件