不让tabbat有蓝色的渲染 并修改文字(iOS更改tabbar图片渲染)

方式一

代码实现 这种要写很多代码 ,每个控制器都要写

UIImage *image=[UIImage imageNamed:@"tabBar_friendTrends_click_icon"];

//    不让tabbar底部有渲染的关键代码

image=[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

vc01.tabBarItem.selectedImage=image;

更改tabbar下方的文字样式,大小, 颜色

NSMutableDictionary *atts=[NSMutableDictionary dictionary];

// 更改文字大小

atts[NSFontAttributeName]=[UIFont systemFontOfSize:12];

// 更改文字颜色

atts[NSForegroundColorAttributeName]=[UIColor darkGrayColor];

NSMutableDictionary *selectedAtts=[NSMutableDictionary dictionary];
    selectedAtts[NSFontAttributeName]=[UIFont systemFontOfSize:12];
    selectedAtts[NSForegroundColorAttributeName]=[UIColor greenColor];

[vc01.tabBarItem setTitleTextAttributes:selectedAtts forState:UIControlStateSelected];

方式二

在 Assets.xcassets文件夹中更改 改变之后不用代码  并且在所有的控制器里面都会被作用到

具体操作

appearance属性

//    通过appearance统一设置所有的UITabBarItem的文字属性

//    后面带有UI_APPEARANCE_SELECTOR的方法,都可以通过appearance同意设置

例如UITabBarItem的文字属性

案例;

NSMutableDictionary *atts=[NSMutableDictionary dictionary];
    atts[NSFontAttributeName]=[UIFont systemFontOfSize:12];
    atts[NSForegroundColorAttributeName]=[UIColor grayColor];
   
    NSMutableDictionary *selectedAtts=[NSMutableDictionary dictionary];
    selectedAtts[NSFontAttributeName]=atts[NSFontAttributeName];

selectedAtts[NSForegroundColorAttributeName]=[UIColor darkGrayColor];

// 在这里 只要更改,所有的文字都改

UITabBarItem *item=[UITabBarItem appearance];
    [item setTitleTextAttributes:atts forState:UIControlStateNormal];
    [item setTitleTextAttributes:selectedAtts forState:UIControlStateSelected];
   
    //    添加子控制器
    UIViewController *vc01=[[UIViewController alloc]init];
    vc01.view.backgroundColor=[UIColor redColor];
    [email protected]"精华";
    vc01.tabBarItem.image=[UIImage imageNamed:@"tabBar_essence_icon"];
    UIImage *image=[UIImage imageNamed:@"tabBar_friendTrends_click_icon"];
//    不让tabbar底部有渲染的关键代码

image=[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

vc01.tabBarItem.selectedImage=image;

// 把控制器 添加到 UITabBarController里面去

[self addChildViewController:vc01];

UIViewController *vc02=[[UIViewController alloc]init];
    [email protected]"新帖";
    vc02.tabBarItem.image=[UIImage imageNamed:@"tabBar_new_click_icon"];
    vc02.tabBarItem.selectedImage=[UIImage imageNamed:@"tabBar_new_click_icon"];
    vc02.view.backgroundColor=[UIColor cyanColor];
    [self addChildViewController:vc02];
   
    UIViewController *vc03=[[UIViewController alloc]init];
    vc03.view.backgroundColor=[UIColor blueColor];
    [email protected]"关注";
    vc03.tabBarItem.image=[UIImage imageNamed:@"tabBar_friendTrends_icon"];
    vc03.tabBarItem.selectedImage=[UIImage imageNamed:@"tabBar_friendTrends_click_icon"];
    [self addChildViewController:vc03];
   
    UIViewController *vc04=[[UIViewController alloc]init];
    [email protected]"我";
    vc04.tabBarItem.image=[UIImage imageNamed:@"tabBar_me_icon"];
    vc04.tabBarItem.selectedImage=[UIImage imageNamed:@"tabBar_me_click_icon"];
    vc04.view.backgroundColor=[UIColor yellowColor];

[self addChildViewController:vc04];

  文章出处:http://www.cnblogs.com/qianLL/p/5521228.html

时间: 2024-10-05 04:48:39

不让tabbat有蓝色的渲染 并修改文字(iOS更改tabbar图片渲染)的相关文章

iOS更改tabbar图片渲染 —不让tabbat有蓝色的渲染 并修改文字

方式一 代码实现 这种要写很多代码 ,每个控制器都要写 UIImage *image=[UIImage imageNamed:@"tabBar_friendTrends_click_icon"]; //    不让tabbar底部有渲染的关键代码 image=[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; vc01.tabBarItem.selectedImage=image; 更改tabbar下方的

IOS开发防止图片渲染的方法

IOS开发中,很多时候我们在给导航控制器或者其它的控制器中的部件添加图片的时候,图片会被渲染,下面就是处理图片渲染的方法. UIImage *image = [UIImage imageNamed:@"a.jpg"]; image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

图片渲染成蓝色的问题

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色.后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下: 1 2 3 4 5 6 UIButton *loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100,

iOS-对于把图片渲染成蓝色的修改方法

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色.后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下: UIButton *loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)]; login

iOS 关闭图片渲染

在为Button 设置背景图片的时候, 会发现显示的效果和UI给的图片不一样, 往往是把图片显示成为蓝色, 这是因为在新版的iOS中, 会自动对图片渲染. 我们只要把图片渲染关掉就OK了 - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode 这个方法就是用来设置图片的渲染模式的 UIImageRenderingModeAlwaysOriginal这个枚举值是声明这张图片要按照原来的样子显示,不需要渲染成其他

iOS 视图,动画渲染机制探究

腾讯Bugly特约作者:陈向文 终端的开发,首当其冲的就是视图.动画的渲染,切换等等.用户使用 App 时最直接的体验就是这个界面好不好看,动画炫不炫,滑动流不流畅.UI就是 App 的门面,它的体验伴随着用户使用 App 的整个过程.如果UI失败,用户是不会有打开第二次的欲望的. iOS 为开发者提供了丰富的 Framework(UIKit,Core Animation,Core Graphic,OpenGL 等等)来满足开发从上层到底层各种各样的需求.不得不说苹果很牛逼,很多接口你根本不需要

渲染入门,使用C++编写基本的渲染器

序 一直以来,电影特效和那些炫目.逼真的三维场景令我惊奇且赞叹不已.在具体接触计算机科学以及C++编程语言之前,我并不知道3DMax或者Maya这类软件的背后究竟发生着什么--在一个可交互的窗口中编辑三维场景,然后进入一个叫做"渲染"的神奇过程,神秘而复杂精妙的事情再不为人知的计算机中发生着,然后就能产生处足以以假乱真的图像.尽管在计算机技术相当发达的今天,通过计算机和软件生成图像并不让人感到惊讶,但是作为一个软件工程的学生,这其中的奥秘依然让我深深着迷. 图1    使用本博客所实现

图片拉伸方法以及修改图片渲染模式以及如何把一个控制器包装成一个导航控制器

当我们给导航控制器的左侧或右侧的item设置图片的时候,设置完成后无论图片是什么颜色,将图片添加到item上的时候会被系统渲染成蓝色,这个时候如果我们想要使用图片本来的颜色,那么就可以用到下面这个方法: 下面这个方法就是对图片进行拉伸: - (void)viewDidLoad { [super viewDidLoad]; UIImage *NormalImg = [UIImage imageNamed:@"RedButton"]; UIImage *HightImg = [UIImag

iOS设置tabBarItem.image图片渲染模式

self.tabBarItem.image=[[UIImage imageNamed:images[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 设置UIImage的渲染模式:UIImageRenderingModeAlwaysOriginal // 始终显示图片原始状态,不使用Tint Color