![](/img/trans.png)
[英]UINavigationController pushing UITabBarController only displays one tab
[英]Creating UITabBarController programmatically, only one Tab is showing up
我有一个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
因此第一个的最后一个覆盖设置显示为lone,必须确保创建2个单独的导航对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.