ios - 以编程方式创建 UITabBarController,只显示一个选项卡
问题描述
我有一个 TabBarCoordinator,它包含一个 UITabBarController。
我想添加两个 UINavigationController(CoinPage 和 Top/Flop),但只有一个显示在选项卡中。我以为我已经以正确的方式设置了一切,我尝试了其他一些东西,但我无法让它工作。
这是我的代码:
class TabBarCoordinator: Coordinator {
var dependencys: DependencyManager
let tabBarController: UITabBarController
var tabCoordinators = [Tabs: Coordinator]()
var navigationController: UINavigationController
init(navigationController: UINavigationController, persistenceCentral: PersistenceCentral, dependencys: DependencyManager) {
self.tabBarController = UITabBarController()
self.navigationController = navigationController
self.dependencys = dependencys
var controllers: [UIViewController] = []
tabCoordinators[.topFlop] = TopFlopCoordinator(navigationController: navigationController, dependencys: dependencys)
tabCoordinators[.coinPage] = CoinPageCoordinator(dependencys: dependencys, navigationController: navigationController)
let coinPageVC = tabCoordinators[.coinPage]!.navigationController
coinPageVC.tabBarItem = UITabBarItem(title: "Coinpage", image: nil, tag: 0)
let topFlopVC = tabCoordinators[.topFlop]!.navigationController
topFlopVC.tabBarItem = UITabBarItem(title: "Top/Flop", image: nil, tag: 1)
controllers.append(topFlopVC)
controllers.append(coinPageVC)
tabBarController.viewControllers = controllers
tabBarController.tabBar.isTranslucent = false
tabCoordinators[.topFlop]?.start()
tabCoordinators[.coinPage]?.start()
}
func start() {
}
}
我做了一些研究,例如他以类似的方式设置选项卡: https ://medium.com/@satindersingh71/uitabbarcontroller-programmatically-2a3df63607f1
所以我不明白为什么它不起作用。
解决方案
这两行返回相同的对象
let coinPageVC = tabCoordinators[.coinPage]!.navigationController
let topFlopVC = tabCoordinators[.topFlop]!.navigationController
所以第一个的最后覆盖设置,它显示孤独,你必须确保你创建了2个单独的导航对象
推荐阅读
- kubernetes - K8s - 将 kubeadm 添加到现有集群
- javascript - 当赋值右侧有值时未定义赋值
- ruby-on-rails - Alchemy CMS - 新模块未显示在左侧边栏中
- r - R:将变量传递给函数内部的lm
- javascript - React 从另一个函数调用一个函数
- node.js - ec2 挂在 npm install 上
- java - 在特定时间有声音的秒表
- python - 无法将字符串转换为浮点数:'K5'
- python - 使用生成器表达式进行异常广播 (Python)
- node.js - 嵌入式模型的 schemaOptions (typegoose)