使用swift更改故事板选项卡栏图标

时间:2015-06-19 03:26:37

标签: ios iphone swift

我已经创建了一个标签栏控制器并在其中嵌入了多个视图控制器。然后,我尝试在该视图的相应swift文件中设置特定的选项卡栏项。问题是我通过覆盖“viewDidLoad”函数来更改项目。因此它仅在用户触摸该项目后才会更新。使用swift更改故事板标签栏项目有什么更好的方法?

1 个答案:

答案 0 :(得分:1)

  1. 创建UITabBarController的子类
  2. 设置TabBarController的自定义类
  3. 现在您覆盖UITabBarController ViewDidLoad方法
  4. 您可以访问所有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)
    }
    

    }

  5. 在自定义类中,代码应如上所示...... 你也可以设置selectedState图像....

    这是结果..

    enter image description here