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 设置 如下:

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

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

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

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

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

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

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

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

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

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

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

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


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

  1. @implementation WETabBarController
  2.  
  3. - (void)viewDidLoad {
  4. [super viewDidLoad];
  5.  
  6. 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. Windows环境下Android NDK环境搭建

    前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设 ...

  2. HDU-2523 SORT AGAIN

    http://acm.hdu.edu.cn/showproblem.php?pid=2523 学习哈希和注意i++,后要--i: SORT AGAIN Time Limit: 2000/1000 MS ...

  3. webscarab使用

    安装jdk-6u20-windows-i586.exe(需要java支持,bat里边就是用java执行的) 设置java环境变量,系统变量里配置 JAVA_HOME变量(默认已经设置好了). 运行 s ...

  4. jQuery 参考手册 - 效果

    (speed可选:规定动画的速度.默认是 "normal",可能的值:毫秒(比如 1500)"slow""normal""fast ...

  5. .net 加水印 图片变大很多 解决方法

    /// 给图片加水印 中国红木网          /// </summary>         /// <param name="originalImg"> ...

  6. HW4.17

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  7. hdoj 1269 迷宫城堡【scc基础题目】

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  8. (9/18)重学Standford_iOS7开发_动画、自动布局_课程笔记

    最近开始实习,没多少时间更新了=_= 第九课: 1.上节课demo:Dropit完整实现 https://github.com/NSLogMeng/Stanford_iOS7_Study/commit ...

  9. iphone自定义铃声

    Step1:下载iTunes Step2:连接手机登录iTunes并授权将音乐文件添加到资料库,修改音乐时间长度为40s Step3:在主界面选择音乐标签 Step4:选择一个mp3音乐文件,点击文件 ...

  10. Android 系统名字、版本、API level的对应关系

    从官网上找到的,具体地址是: http://source.android.com/source/build-numbers.html Code name Version API level Lolli ...