首先,项目是在故事板中搭建的,所以遇到这个问题的时候,首先是想到在故事板中找到相关的属性,确实是有一个Selected Image,但是设置了这个图片以后,运行的效果是,点击选择后,本身的image就没有了;

(不知道这个属性是做什么用的)

然后就想着还是用代码添加吧,于是就有了下面的一大段代码

TableViewController *tv = [[TableViewController alloc]init];

TableViewController2 *tv2 = [[TableViewController2 alloc]init];

TableViewController3 *tv3 = [[TableViewController3 alloc]init];

TableViewController4 *tv4 = [[TableViewController4 alloc]init];

[self setViewControllers:@[tv,tv2,tv3,tv4]];

// 拿到 TabBar 在拿到想应的item

UITabBar *tabBar = self.tabBar;

UITabBarItem *item0 = [tabBar.items objectAtIndex:0];

UITabBarItem *item1 = [tabBar.items objectAtIndex:1];

UITabBarItem *item2 = [tabBar.items objectAtIndex:2];

UITabBarItem *item3 = [tabBar.items objectAtIndex:3];

// 对item设置相应地图片

item0.selectedImage = [[UIImage imageNamed:@"食课B"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];;

item0.image = [[UIImage imageNamed:@"食课A"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

item1.selectedImage = [[UIImage imageNamed:@"食谱B"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];;

item1.image = [[UIImage imageNamed:@"食谱A"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

item2.selectedImage = [[UIImage imageNamed:@"食课B"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];;

item2.image = [[UIImage imageNamed:@"食课A"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

item3.selectedImage = [[UIImage imageNamed:@"食谱B"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];;

item3.image = [[UIImage imageNamed:@"食谱A"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

效果确实是出来了,但是很明显,就为了一个点击后修改颜色的效果,这段代码实在太多

然后接着网上找,发现了

self.tabBar.tintColor = [UIColor colorWithRed:255.0/255.0 green:124.0/255.0 blue:56.0/255.0 alpha:1];

众里寻她千百度,,,

这些代码都不是在Appdelegate中写的,是在一个继承自UITabBarController的控制器(也是项目的根控制器,不然能self.吗?)中写的。所以,如果你只是想单纯的修改tabbar选择后的颜色的话,那么上面的一大段代码可以省略(不过用代码创建tabbar的时候可以借鉴),

关于修改tabbar的颜色的问题的更多相关文章

  1. 修改tabbar 字体颜色

    NSDictionary *seletedTextAttrs = @{NSForegroundColorAttributeName:[UIColor orangeColor]}; 修改tabbar 字 ...

  2. UITabBarController 、TabBar背景颜色设置,UITabBarItem的文字样式(颜色和大小)UITabBarItem的位置调整

    改变UITabBarController的颜色 UIView*mView=[[UIView alloc]initWithFrame:CGRectMake(0,0,320,48)];//这是部分tabb ...

  3. Android Studio -修改LogCat的颜色

    Android Studio -修改LogCat的颜色 author:Kang,Leo weibo:http://weibo.com/kangyi 效果图 设置 Preference->Edit ...

  4. 复选框输入Android Studio 如果修改LogCat的颜色,默认全是黑色看着挺不舒服的

    今天一直在查找复选框输入之类的问题,上午正好有机会和大家分享一下. 怎么找到并表现LogCat这里就不需要再讲了吧,主要说一下本篇的主题,如何修改他的颜色 .我们在使用Eclipse的时候应该都用过L ...

  5. 如何解决在GDI画图中,多次修改画笔的颜色

    首先创建个画笔对象: CPen gPen;gPen.CreatePen(PS_SOLID, 1, RGB(120,120,130));//一定灰度的画笔〈/br〉CPen* pOldPen = pDC ...

  6. 修改UISearchBar背景颜色

    UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性.方法一:是直接将 UISearc ...

  7. 微信小程序换皮肤,动态切换菜单栏和导航栏的样式,动态修改TabBar和NavigationBar

    在做微信小程序换皮肤的时候,需要动态修改菜单栏(TabBar)和导航栏(NavigationBar) 但是在小程序中它们的样式是写在app.json里面,而且app.json是静态编译,运行时哪怕你修 ...

  8. iOS 修改TabBar的item间距

    @interface HPTabBarController ()<UITabBarControllerDelegate>//继承自UITabBarController @property ...

  9. jquery入门 修改网页背景颜色

    我们在浏览一些网站,尤其是一些小说网站的时候,都会有修改页面背景颜色的地方,这个功能使用jquery很容易实现. 效果图: show you code: <!doctype html> & ...

随机推荐

  1. hdu 5585 Numbers【大数+同余定理】

    Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  2. 转载Sql 获取数据库所有表及其字段名称,类型,长度

    转载原地址 http://www.cnblogs.com/Fooo/archive/2009/08/27/1554769.html SELECT (case when a.colorder=1 the ...

  3. php如何清除html格式并去除文字中的空格然后截取文字

    PHP如何清除html格式并去除文字中的空格然后截取文字,详细分享一下处理方法(顺便对PHP清除HTML字符串的函数做了一个小结): htmlspecialchars 将特殊字元转成 HTML格式语法 ...

  4. charindex的用法

    declare @str nvarchar(50);set @str='462,464,2';select @str as '字符串'select len(@str) as '字符长度' select ...

  5. SQL Server 2005 盛宴系列 经典教程

    SQL Server 2005 盛宴系列 经典教程  [复制链接]   发表于 2007-3-27 14:08 | 来自 51CTO网页 [只看他] 楼主     TECHNET  SQL serve ...

  6. Oracle中的AS和IS

    Oracle中的AS和IS是ORACLE为了方便而设置的同义词基本上没有不同 . 使用规则: 1.在创建存储过程(PROCEDURE)/函数(FUNCTION),以及自定义类型(TPYE)和包(PAC ...

  7. Fixed theorems

    Banach Schauder Bourbaki-Kneser

  8. C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部【转载】

    这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题) ...

  9. node.js在windows下的学习笔记(8)---进程管理Process

    process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象. 使用process对象可以截获进程的异常.退出等事件,也可以获取进程的 ...

  10. WebStorm 6.0下运行pomelo项目

    最近想使用WebStorm来写pomelo,初次使用WebStorm,网上找了老半天根本没有介绍WebStorm如何创建或者打开运行pomelo的教程,网易pomelo官网介绍的使用 WebStorm ...