瀏覽代碼

AppCoordinator: Fix invisible 6th tab in TabBar

initializing the tabbarcoordinator before we setup the childViewControllers leads to a 6th tab
Likely caused by tabBarController.addChild(playerController) which contains our miniplayer

instantiating the tabbarcoordinator lazily fixes it
(closes #539)
Carola Nitz 6 年之前
父節點
當前提交
5dde4663d8
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      Sources/Coordinators/AppCoordinator.swift

+ 3 - 2
Sources/Coordinators/AppCoordinator.swift

@@ -21,14 +21,15 @@ class Services: NSObject {
     private var childCoordinators: [NSObject] = []
     private var playerController: VLCPlayerDisplayController
     private var tabBarController: UITabBarController
-    private var tabBarCoordinator: VLCTabBarCoordinator
+    private lazy var tabBarCoordinator: VLCTabBarCoordinator = {
+        return VLCTabBarCoordinator(tabBarController: tabBarController, services: services)
+    }()
     private var migrationViewController = VLCMigrationViewController(nibName: String(describing: VLCMigrationViewController.self),
                                                                      bundle: nil)
 
     @objc init(tabBarController: UITabBarController) {
         self.playerController = VLCPlayerDisplayController(services: services)
         self.tabBarController = tabBarController
-        tabBarCoordinator = VLCTabBarCoordinator(tabBarController: tabBarController, services: services)
         super.init()
         setupChildViewControllers()