UITabBarItem设置的图片选中状态下默认的是蓝色,如何改变它的颜色为图片自带的颜色呢?

typedef NS_ENUM(NSInteger, UIImageRenderingMode) {

// 使用图像的上下文中使用的默认渲染模式,使用默认的蓝色

UIImageRenderingModeAutomatic,          // Use the default rendering mode for the context where the image is used

// 总是画出原始图像,使用图片自带的颜色

UIImageRenderingModeAlwaysOriginal,     // Always draw the original image, without treating it as a template

// 总是把图像作为模板图像,忽略了它的颜色信息

UIImageRenderingModeAlwaysTemplate,     // Always draw the image as a template image, ignoring its color information

} NS_ENUM_AVAILABLE_IOS(7_0);

使用 imageWithRenderingMode 设置 如下:

UINavigationController *navView = [sb instantiateInitialViewController];
navView.tabBarItem.title = @"扫描二维码";
navView.tabBarItem.image = [UIImage imageNamed:@""];
navView.tabBarItem.selectedImage = [UIImage imageNamed:@"01h"]; UINavigationController *navScan = [[UINavigationController alloc] initWithRootViewController:scanVC];
navScan.tabBarItem.title = @"冲击波扫描";
navScan.tabBarItem.image = [[UIImage imageNamed:@""] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
navScan.tabBarItem.selectedImage = [[UIImage imageNamed:@"02h"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

---------------------------------------------------------------------------------------------------------------------------

// 改变标题字体颜色和大小

// Font Family: Helvetica(Helvetica-Oblique,Helvetica-BoldOblique,Helvetica,Helvetica-Bold)           iOS下 默认字体

方法一:
- (void)viewDidLoad {
[super viewDidLoad]; // 改变标题字体颜色和大小
[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"Helvetica-Bold" size:12.0f], NSForegroundColorAttributeName : [UIColor redColor]} forState:UIControlStateNormal];

    [[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName:[UIColor greenColor]} forState:UIControlStateSelected];

//    self.tabBar.tintColor = [UIColor redColor];
} 方法二:

[navScan.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor grayColor]} forState:UIControlStateNormal];

[navScan.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor redColor]} forState:UIControlStateSelected];

如果使用self.tabBar.tintColor设置 图片的颜色也会跟着变。

使用方法一,会将所有的tabBarItem 颜色和字体大小全部改变。

使用方法二,只会当前的navScan.tabBarItem 颜色和字体大小改变。


设置tabBar的背景颜色,以下设置是不管用的

@implementation WETabBarController

- (void)viewDidLoad {
[super viewDidLoad]; self.tabBar.backgroundColor = [UIColor redColor];
}

如果想要改变tabBar的背景 可以设置它的背景图片

self.tabBar.backgroundImage = [UIImage imageNamed:@"redImage"];

如果要tabBar透明,可以设置一张透明的图片进来,即可。

UITabBar-UITabBarItem图片的背景颜色属性和文字的颜色大小设置的更多相关文章

  1. [转载]css3的一个控制背景的属性,background-size可以缩放大小啦

    background-size需要两个值,它的类型可以是像素(px).百分比(%)或是auto,还可以是cover和contain.第一个值为背景图的width,另外一个值用于指定背景图上的heigh ...

  2. HTML5之placeholder属性以及如何更改placeholder属性中文字颜色

    今天在群里看到群友问了一个这样的问题,就是如何更改placeholder属性中文字的颜色,以前用过这属性,却是没更改过颜色,于是便试了试,中途遇到些问题,查找资料后特来总结一下. 熟悉HTML5的人应 ...

  3. 转: HTML5之placeholder属性以及如何更改placeholder属性中文字颜色

    今天在群里看到群友问了一个这样的问题,就是如何更改placeholder属性中文字的颜色,以前用过这属性,却是没更改过颜色,于是便试了试,中途遇到些问题,查找资料后特来总结一下. 熟悉HTML5的人应 ...

  4. HTML连载32-背景颜色、背景图片、背景填充

    一.背景 1.如何设置标签的背景颜色 (1)在CSS中有一个background-color:属性值:,就是专门用来设置标签的背景颜色. (2)取值:具体单词.RGB.RGBA.十六进制 例子: &l ...

  5. 前端1-----CSS颜色属性,字体文本和背景属性,边框属性,margin和padding,盒模型,行内块转换,浮动,三大定位

    前端1-----CSS颜色属性,字体文本和背景属性,边框属性,margin和padding,盒模型,行内块转换,浮动,三大定位 一丶css选择器的优先级 行内 > id选择器 > 类选择器 ...

  6. 使用系统UITabbarItem自定义图片显示原本颜色和自定义文字颜色

    ...... ThirdViewController *thirdVC = [[ThirdViewControlleralloc]initWithTitle:@"搜索信息"]; / ...

  7. div滚动条,可以自由的给滚动条定义背景,上下按钮,当然不仅仅是颜色,连图片当背景也可以。

    可以自由的给滚动条定义背景,上下按钮,当然不仅仅是颜色,连图片当背景也可以.支持鼠标滚轮,点击滚动条滚轴定位,上下按钮久按加速,兼容firefox,谷歌 下载地址

  8. [BS-03] 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性

    1. 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性 . 统一设置UITabBarController管理的所有VC的tabBarItem图标 ...

  9. CSS背景特殊属性值

    CSS代码示例-背景附着属性(background-attachment)-[背景图固定不动,不跟随滚动条滚动]:<html><head><title>背景附着属性 ...

随机推荐

  1. Asp.Net 前后台交互小结

    转自:http://blog.csdn.net/wlccomeon/article/details/17270427 一.前台调用后台           前台调用后台的方法一共可分为两大类:使用Ht ...

  2. DevExpress之lookupedit

    DevExpress中的lookupedit的使用方法. 绑定数据源:     lookupedit.properties.valuemember = 实际要用的字段;   //相当于editvalu ...

  3. Bzoj 1901: Zju2112 Dynamic Rankings 主席树,可持久,树状数组,离散化

    1901: Zju2112 Dynamic Rankings Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 6321  Solved: 2628[Su ...

  4. Axure原型用pmdaniu在线托管尝试

    这次把原型中语音模块的坑填了一部分,实现了拖拽按钮控制的界面效果 http://www.pmdaniu.com/prototype/view?id=WXpVNwNhUmYMPFN3AkA

  5. [LeetCode] 42. Trapping Rain Water 解题思路

    Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...

  6. 【转】开始使用Mac OS X——写给Mac新人

    写这篇文档的原因有两个,一.身边使用Mac的朋友越来越多,经常会有人来咨询一些常见的使用问题,比如:“为什么把界面右上角的红色按钮叉掉,程序还没有关闭?”之类.而且我也不愿意看到很多人使用OSX时仅仅 ...

  7. Clean Code读书笔记

    第一章 整洁代码 1.编程要做什么 代码呈现了需求的细节,在某些层面上,这些细节无法被忽略或抽象,必须明确.而将需求明确到机器可以执行的细节程度,就是编程要做的事. 2.项目过程中经常遇到这样的问题: ...

  8. Yii2 ActiveForm表单自定义样式

    实例: <?php $form = ActiveForm::begin([ 'fieldConfig' => [ 'template' => '<div class=" ...

  9. ASP.NET MVC- MvcPager

    本文目标 一.能够使用MvcPager进行分页 本文目录 一.MvcPager控件的简单使用 二.C#扩展方法 一.MvcPager控件的简单使用 1.添加MvcPager.dll的引用[下载] 2. ...

  10. MachineKey

    我是在收到用户发来的这个错误信息的截图后才认识到什么是MachineKey的. 有关MachineKey的概念.MachineKey的生成以及web.config文件里的配置,网上一搜一大堆,为了方便 ...