使用系统的tabbar解决图片的问题.
用sb使用系统的tabbar,弄好后发现图片始终是蓝色的,并不是原来的图片,后经上网查资料,问问同事,有了下面的这些代码,做个标记.
AppDelegate中
func application(application: UIApplication,didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
initTabBarSelectedItem()
return true
}
func initTabBarSelectedItem()
{
var rootController = self.window?.rootViewController as UITabBarController
var tabBar = rootController.tabBar
var homeItem = tabBar.items?[0] as UITabBarItem var selectedImg = UIImage(named: "首页")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) if homeItem.tag == 100 { homeItem.selectedImage = selectedImg homeItem.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.redColor(),NSFontAttributeName:UIFont.systemFontOfSize(14)],forState: UIControlState.normal) } var orderItem = tabBar.items?[1] as UITabBarItem var orderItemImg = UIImage(named: "订单")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) if orderItem.tag == 101 { orderItem.selectedImage = orderItemImg orderItem.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.redColor()],forState: UIControlState.Selected) } var releaseItem = tabBar.items?[2] as UITabBarItem var releaseItemImg = UIImage(named: "发布")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) if releaseItem.tag == 102 { releaseItem.selectedImage = releaseItemImg releaseItem.image = releaseItemImg releaseItem.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.redColor()],forState: UIControlState.Selected) } var myItem = tabBar.items?[3] as UITabBarItem var myItemImg = UIImage(named: "我的")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) if myItem.tag == 103 { myItem.selectedImage = myItemImg myItem.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.redColor()],forState: UIControlState.Selected) } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。