Swift进阶之UITabBarItem样式修改

关于创建tabBar和视图控制器的部分就不啰嗦了,我们来研究一下样式的修改( ⊙o⊙ )

一、修改图片和文字的颜色

(1)图片和文字同时修改

  self.tabBar.tintColor = UIColor.orangeColor()

(2)只改变文字的颜色

  UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.grayColor()], forState:.Normal)
  UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.orangeColor()], forState:.Selected)

(3)只改变图片的颜色

self.tabBar.tintColor = UIColor.orangeColor()
//文字颜色还原
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: self.view.tintColor], forState:.Selected)

二、选中时、不选中时使用不同的图片

在默认的item选中、不选中使用的是同一张照片,只是颜色不同。其实我们也可以使用两张不同图片表示两种状态。
apple.tabBarItem = UITabBarItem(title: "apple", image: UIImage(named: "apple"),selectedImage: UIImage(named: "apple_active"))
android.tabBarItem = UITabBarItem(title: "Android", image: UIImage(named: "android"),selectedImage: UIImage(named: "android_active"))

三、使用图片的原始颜色

默认情况下,不管原图是什么颜色,渲染器都会讲渲染成单一颜色。
apple.tabBarItem =  UITabBarItem(title: "apple", image: UIImage(named: "apple_color"),selectedImage: UIImage(named:"apple_color")?.imageWithRenderingMode(.AlwaysOriginal))
android.tabBarItem =  UITabBarItem(title: "Android", image: UIImage(named: "android_color"),selectedImage: UIImage(named: "android_color")?.imageWithRenderingMode(.AlwaysOriginal))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,687评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 近期常常去晨跑,原本以为和我一样晨跑的人不会多,去了才知道还是比想象中更多。 晨跑的路上其实很孤单,需要不断的克服...
    薛薛闲扯阅读 211评论 0 0
  • 今晚应是有月色的吧?不然为何轻灵的蝈蝈声演奏成了此起披伏?难道不是月光下的音乐会? 在这个季节,还能有如...
    残章断简阅读 98评论 0 1