我已经创建了一个标签栏控制器并在其中嵌入了多个视图控制器。然后,我尝试在该视图的相应swift文件中设置特定的选项卡栏项。问题是我通过覆盖“viewDidLoad”函数来更改项目。因此它仅在用户触摸该项目后才会更新。使用swift更改故事板标签栏项目有什么更好的方法?
答案 0 :(得分:1)
您可以访问所有TabItem并更改其文本/图像 在ViewController加载之前。
class CustomTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let allItems:[AnyObject] = self.tabBar.items!
var item1:UITabBarItem = allItems[0] as! UITabBarItem
var item2:UITabBarItem = allItems[1] as! UITabBarItem
item1.image = UIImage(named: "menu@2x.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
item2.image = UIImage(named: "play@2x.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
}
}
在自定义类中,代码应如上所示...... 你也可以设置selectedState图像....
这是结果..