注意:初始答案是以編程方式創建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]
}
}
}
}
如果您滿意的答覆,請接受並給予好評的。如果您還有其他問題,請添加評論。 – Wismin
非常感謝你酒酒,那是我最後的選擇。關鍵是我正在使用這個項目6個月,我的標籤欄是由故事板製作的,有什麼辦法可以添加最少的代碼行嗎?或者我必須再次執行我的代碼?如果第二個是,我應該在我的代碼中更改什麼?另一件事,如果我的第一個視圖控制器是我必須切換的控制器呢? –
Josep,我已經更新了答案以滿足您的要求。你可以按照你想要的順序安排。請不要忘記接受並提出答案。 – Wismin