更改UITabBarItem图像

时间:2014-08-25 16:28:47

标签: ios swift uiimage uitabbarcontroller uitabbaritem

我使用了Storyboard来设置UITabBarController及其对应的ViewControllers。每当取消选择一个标签时,它都是灰色的,当它被选中时它具有绿色色调。我希望这些UITabBarItems中的一个看起来总是一样的:即无论是选择还是取消选择,它总是具有绿色。
另外,我用于此UITabBarItem的图标图像已经具有我想要的绿色外观。这很重要,因为我尝试在viewDidLoad的{​​{1}}函数{@ 1}}中尝试使用此方法,我希望保持不变(我已经设置了ViewController在故事板中的UITabBarItemoutlet)之间:
UITabBarItem

这很有效,但直到加载了ViewController,因此用户必须点击myTabBarItem.image = UIImage(named: "PickleTabIcon").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)才能加载ViewController
我还试图从最初的TabItem访问ViewController的图像,以便在应用程序启动时更改生效,如下所示:
< br {> UITabBarItem

但是这会抛出一个错误,并说该API已被弃用。将ViewController更改为tabBarController.tabBar.items[2].image并不能说API已被弃用,但它仍会引发错误(无法识别的选择器)。

如果您有任何其他问题,请随时提出。提前致谢!
我在XCode 6 Beta 6中使用Swift。

1 个答案:

答案 0 :(得分:6)

tabBar.items是一个AnyObject的数组。尝试将项目投射到UITabBarItem

var myTabBarItem = tabBarController.tabBar.items[2] as UITabBarItem
myTabBarItem.image = UIImage(named: "PickleTabIcon").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)