我有一个标签栏控制器,它有两个项目连接到两个视图控制器(比如A& B)现在我想添加一个第三视图控制器(比如说C)。但我不想在标签视图中添加第三个图标。当用户选择第二个图标时,它应该呈现B或C,具体取决于用户是否已登录。
答案 0 :(得分:6)
只需为要根据上下文显示不同视图的标签栏项创建另一个视图控制器。我们称之为RouterViewController
。然后传递您需要的信息,以决定向RouterViewController
显示哪个视图控制器,并在那里实现必要的逻辑。
从RouterViewController
你现在可以呈现你想要的任何视图控制器(没有动画)。有很多方法可以做到这一点,例如:
RouterViewController
成为 UINavigationController
的子类,并动态设置其rootViewController
属性。RouterViewController
容器视图控制器并相应地嵌入所需的视图控制器。RouterViewController
以模态方式(无动画)呈现视图控制器。 (我个人会反对这个选项,因为提出模态视图控制器是出于其他目的。) 等