2017-05-26 96 views

回答

2

注意:初始答案是以編程方式創建tabBar。但是由於Josep(提問者)已經通過Storyboard創建了tabBar,我在這裏更改了答案以適應需求。

假設:

(1)的TabBar使用UITabBarViewController創建。類名稱:TabBarViewController

(2)最初,Tabbar由WeekendVC,WeekdayVC,OtherVC組成。 (3)基於條件,Tabbar將變爲:(WeekendVC和OtherVC)或僅(WeekdayVC和OtherVC)。

這裏是TabBarViewController將是什麼樣子:

import UIKit 

enum TypeOfDay { 
    case weekday 
    case weekend 
} 

class TabBarViewController: UITabBarController { 

    var typeOfDay: TypeOfDay = .weekday 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Initial order is: WeekendVC, WeekdayVC, OtherVC 
     if let currentViewControllers = self.viewControllers { 

      let weekendVC = currentViewControllers[0] 
      let weekdayVC = currentViewControllers[1] 
      let otherVC = currentViewControllers[2] 

      switch typeOfDay { 
      case .weekend: 
       self.viewControllers = [weekendVC, otherVC] 
      case .weekday: 
       self.viewControllers = [weekdayVC, otherVC] 
      } 
     } 
    } 
} 
+1

如果您滿意的答覆,請接受並給予好評的。如果您還有其他問題,請添加評論。 – Wismin

+0

非常感謝你酒酒,那是我最後的選擇。關鍵是我正在使用這個項目6個月,我的標籤欄是由故事板製作的,有什麼辦法可以添加最少的代碼行嗎?或者我必須再次執行我的代碼?如果第二個是,我應該在我的代碼中更改什麼?另一件事,如果我的第一個視圖控制器是我必須切換的控制器呢? –

+1

Josep,我已經更新了答案以滿足您的要求。你可以按照你想要的順序安排。請不要忘記接受並提出答案。 – Wismin

相關問題