ios – 在Swift中更改UITabBarItem上的selectedImage

我一直在尝试更改UITabBar上的所选图像.我已经按照其他Stackoverflow问题列出的程序,但似乎没有任何工作.

我尝试通过“用户定义的运行时属性”部分设置图像,并尝试将以下内容添加到AppDelegate.swift

var tabBarController = self.window!.rootViewController as UITabBarController
let tabItems = tabBarController.tabBar.items as [UITabBarItem]

var selectedImage0 = UIImage(named:"NewsFeedTabSelected")
selectedImage0?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
tabItems[0].selectedImage = selectedImage0

这不会产生任何结果.我做了一个println(tabItems [0] .title)并输出正确的标题,所以我知道对TabBarItem的引用是有效的.

有什么想法吗?

解决方法

我在AppDelegate上解决了这样的问题.
var tabBarController = self.window!.rootViewController as UITabBarController
var tabBar = tabBarController.tabBar as UITabBar

var tabBarItem1 = tabBar.items![0] as UITabBarItem
var tabBarItem2 = tabBar.items![1] as UITabBarItem
var tabBarItem3 = tabBar.items![2] as UITabBarItem

tabBarItem1.selectedImage = UIImage(named: "FirstSelectedImage")
tabBarItem2.selectedImage = UIImage(named: "SecondSelectedImage")
tabBarItem3.selectedImage = UIImage(named: "ThirdSelectedImage")

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...