如何将多个视图连接到 swift 中的单个选项卡栏项目?

how to connect multiple views to a single tab bar item in swift?

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

只需为要根据上下文显示不同视图的选项卡栏项创建另一个视图控制器。我们称它为 RouterViewController。然后将您需要的信息传递给那个 RouterViewController 并在其中实现必要的逻辑。

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

  • 使您的 RouterViewController 成为 UINavigationController 的子类并动态设置其 rootViewController 属性.
  • 使您的RouterViewController成为容器视图控制器并相应地嵌入所需的视图控制器。
  • 从您的 RouterViewController 中以模态方式(无动画)呈现视图控制器。 (我个人不鼓励这个选项,因为呈现模态视图控制器是为了另一个目的。)

等等