我可以使用一个视图控制器来处理标签栏控制器中的多个视图吗

Posted

技术标签:

【中文标题】我可以使用一个视图控制器来处理标签栏控制器中的多个视图吗【英文标题】:Can I use one view controller to handle multiple views in a tab bar controller 【发布时间】:2019-05-04 20:56:30 【问题描述】:

我正在制作一个带有标签栏的应用程序,它将显示三个不同的计时器。除了时间和一些标签外,三个计时器几乎相同。目前,我在我的故事板上为使用相同类的计时器使用 3 个视图控制器,并将它们嵌入到选项卡栏视图控制器中。有没有一种方法可以让我拥有一个视图控制器,然后在标签栏视图控制器中以编程方式使用它三次?这甚至是一条很好的下坡路吗?

【问题讨论】:

【参考方案1】:

一个视图只能有一个父视图,因此您需要三个单独的视图实例来填充三个选项卡。而且由于一个视图控制器只有一个视图,因此三个选项卡中的每个视图实例都需要自己的视图控制器实例。

您可以拥有一个视图控制器类和该视图控制器的三个实例,但您不能使用一个视图控制器实例及其一个视图实例来填充三个选项卡。

【讨论】:

谢谢,所以听起来我当前的实现可能是最好的方法。复制和粘贴视图控制器然后将它们链接到同一个类似乎很糟糕。 制作这些副本并将它们分配给三个不同的视图控制器类,它们只是彼此的副本。

以上是关于我可以使用一个视图控制器来处理标签栏控制器中的多个视图吗的主要内容,如果未能解决你的问题,请参考以下文章

如何在1项标签栏控制器中制作顶部标签栏以在swift中显示多个视图控制器?

多视图控制器中的 iAd 示例

从标签栏应用程序中的表格视图推送新的视图控制器

如何允许标签栏项具有多个视图控制器

旋转标签栏应用程序中不在视图中的视图控制器

多个导航控制器中的视图控制器通信