如何在swift中将多个视图连接到单个标签栏项目?
我有一个标签栏控制器有两个项目连接到两个视图控制器(说A&B)现在我想添加一个第三视图控制器(说C)。 但我不想在选项卡视图中添加第三个图标。 当用户select第二个图标时,应该根据用户是否login来呈现B或C.
只需为要为其显示不同视图的标签栏项目创build另一个视图控制器,具体取决于上下文。 我们称之为RouterViewController
。 然后将所需的信息传递给RouterViewController
并在那里实现必要的逻辑。
从RouterViewController
你现在可以呈现你想要的任何视图控制器(没有animation)。 有很多方法可以做到这一点,例如:
- 使您的
RouterViewController
成为UINavigationController
一个子类并dynamic设置其rootViewController
属性。 - 使您的
RouterViewController
成为一个容器视图控制器,并相应地embedded所需的视图控制器。 - 从你的
RouterViewController
模态方式RouterViewController
一个视图控制器(没有animation)。 (我个人会劝阻这个选项,因为呈现模态视图控制器的目的是为了另一个目的。)
等等