我使用 Storyboard 设置了我的 UITabBarController
及其相应的 ViewControllers
。每当一个选项卡被取消选择时,它是灰色的,当它被选择时它有一个绿色调。我希望其中一个 UITabBarItems
始终看起来相同:即,无论它是被选中还是被取消选中,它始终具有绿色色调。此外,我用于此 UITabBarItem
的图标图像已经具有我想要的绿色外观。这很重要,因为我已经尝试在 viewDidLoad
的 ViewController
的 UITabBarItem
函数中使用此方法,我希望保持不变(我已经在 Storyboard 中的 outlet
和 UITabBarItem
之间设置了 ViewController
): myTabBarItem.image = UIImage(named: "PickleTabIcon").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
这很好用,然而,在加载 ViewController
之前它不会被激活,因此用户必须点击 TabItem
以加载 ViewController
才能工作。我还尝试从初始 UITabBarItem
访问 ViewController
的图像,以便在应用程序启动后更改立即生效,如下所示: tabBarController.tabBar.items[2].image
但这会引发错误并表示此 API 已被弃用。将 .image
更改为 .setImage
并不表示 API 已被弃用,但它仍然会引发错误(无法识别的选择器)。如果您有任何其他问题,请随时提出。提前致谢!我在 XCode 6 Beta 6 中使用 Swift。
最佳答案
tabBar.items
是 AnyObject
的数组。尝试将项目转换为 UITabBarItem
var myTabBarItem = tabBarController.tabBar.items[2] as UITabBarItem
myTabBarItem.image = UIImage(named: "PickleTabIcon").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
关于ios - 更改 UITabBarItem 图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25490337/