更改标签栏项目的顺序

时间:2018-10-16 11:40:05

标签: ios swift uitabbarcontroller

我有一个视图,该视图的底部有一个标签栏。现在,我想基于iPhone和iPad更改选项卡栏的项目(即,iPhone和iPad的订单不同)。

viewDidLoad中,如果我执行类似self.viewControllers.count的操作,则会得到正确数量的标签栏。但是如何从那里着手以更改标签栏项目的顺序,我不知道。我的意思是我该如何获取每个ViewController的索引,以便重新排列他们不知道的索引...

1 个答案:

答案 0 :(得分:0)

您可以以编程方式定义标签栏。但是首先,您应该为故事板上的标签页视图设置一个ID,如图所示: set id for view

AppDelegatedidFinishLaunchingWithOptions方法中:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
// change "Main" if your storyboard's filename is different.

let vc1 = storyboard.instantiateViewController(withIdentifier: "vc1")
let vc2 = storyboard.instantiateViewController(withIdentifier: "vc2")

let tab = UITabBarController()
if UIDevice.current.model.lowercased() == "iphone" {
    tab.viewControllers = [vc1, vc2]
} else {
    tab.viewControllers = [vc2, vc1]
}

window?.rootViewController = tab