我正在编写一个具有基于 TabBar 的导航的应用程序。我正在采用 VIPER 架构,但我对应该如何实现 UITabBarController 的选项卡更改这一主题感到很困惑。
最佳答案
这可能晚了,但可能对其他人有帮助。 我的用例是在登录屏幕之后实现 tabBarController。 在 VIPER 中我们可以通过多种方式做到这一点,但我是如何做到的如下:
- 手动分配 TabBar,不使用 Storyboard。
- 仅为 TabBarWireframe 演示创建一个新的 WireFrame 类。
- 创建一个带有一个可变数组的单例类,该数组将包含要分配给 tabBarController 的所有 View Controller 。
- 创建一个 json 文件,它将为我提供选项卡的值,可以跳过此步骤,因为我希望选项卡基于 JSON 文件中的值是动态的。如果您有静态选项卡,请跳过此步骤。
- 在 TabBarWireframe 中,放置一个调用所有选项卡线框的循环。
- 在您的个人线框图中,只需实例化 viewController 对象并将其添加到我们在第 3 步中创建的单例类数组中。
- 毕竟,作为选项卡一部分的 viewController 也是数组的一部分。只需从 loginviewcontroller 实例中呈现 tabBar Controller (它的实例只是通过一个方法传递给 tabBarWireframe 类)。
希望我说得有道理。
关于ios - UITabBarController 如何适应 VIPER 架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216150/