如何自定义设置系统中Tabbar上的文字和图标的颜色
2015-03-25 20:19
666 查看
很多的人都说Tabbar上的图标和文字设置起来很困难,或者根本就不能设置。更有甚者嫌修改起来太麻烦了,直接自定义tabbar,自己想怎么改就怎么改。也不用去管系统的怎么变。确实,自定义的tabbar这种确实已经很成熟了,但我还是想说是不是系统的真的不能修改了,如果不能修改,那iOS本身的底层是不是就是缺乏这种,还是人家是禁止,提倡自定义的。没有答案,但是,确实是有修改系统中tabbar上的文字和图标的颜色的,包括未选中的颜色。
单独修改tabbar上的item的图片,系统会自动识别出你给的图片,过滤掉像素值之后,填充上系统自己定义的颜色,比如默认选中的蓝色和未选中的灰色之类的,这样的话,就无法达到我们所要做的效果。
[self.tabBar setSelectedImageTintColor:[UIColor blackColor]];<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
这样的确实可以修改颜色,但是是实际上还是系统给出的颜色,无法直接显出我们图片上的颜色,这样设置起来就很麻烦,而且,这只是针对选中的变为黑色,未选中的没有任何改变。
//tabbarItem 图片显示原来颜色
UITabBarItem *item = [tabBar.items objectAtIndex:0];
UIImage *img1 = [UIImage imageNamed:@ "_fj_position.png" ];
UIImage *img2 = [UIImage imageNamed:@ "_fj_phone.png" ];
img1 = [img1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
img2 = [img2 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
item =[item initWithTitle:@"gg" image:img1 selectedImage:img2];苹果文档说明,不是没有,你只要把当前的图片的模式修改成UIImageRenderingModeAlwaysOrigina
的模式之后,添加上去之后,tabbar上当前的item自动会显示所有你自己的图片和颜色,不会过滤掉之后添加上系统自己给的。写在你要设置item的位置上,这样的话,就能得到你想要的原生图片了。
下面是修改tabbar上的文字的颜色,有些和上面的一样,系统会首先帮你设定好文字的格式什么的,但是其实我们想自己设定的时候[item setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], UITextAttributeTextColor,nil] forState:UIControlStateNormal];调用这个方法的是item下单独调用的,设置文字的格式的,可以直接设定。
单独修改tabbar上的item的图片,系统会自动识别出你给的图片,过滤掉像素值之后,填充上系统自己定义的颜色,比如默认选中的蓝色和未选中的灰色之类的,这样的话,就无法达到我们所要做的效果。
[self.tabBar setSelectedImageTintColor:[UIColor blackColor]];<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
这样的确实可以修改颜色,但是是实际上还是系统给出的颜色,无法直接显出我们图片上的颜色,这样设置起来就很麻烦,而且,这只是针对选中的变为黑色,未选中的没有任何改变。
//tabbarItem 图片显示原来颜色
UITabBarItem *item = [tabBar.items objectAtIndex:0];
UIImage *img1 = [UIImage imageNamed:@ "_fj_position.png" ];
UIImage *img2 = [UIImage imageNamed:@ "_fj_phone.png" ];
img1 = [img1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
img2 = [img2 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
item =[item initWithTitle:@"gg" image:img1 selectedImage:img2];苹果文档说明,不是没有,你只要把当前的图片的模式修改成UIImageRenderingModeAlwaysOrigina
的模式之后,添加上去之后,tabbar上当前的item自动会显示所有你自己的图片和颜色,不会过滤掉之后添加上系统自己给的。写在你要设置item的位置上,这样的话,就能得到你想要的原生图片了。
下面是修改tabbar上的文字的颜色,有些和上面的一样,系统会首先帮你设定好文字的格式什么的,但是其实我们想自己设定的时候[item setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], UITextAttributeTextColor,nil] forState:UIControlStateNormal];调用这个方法的是item下单独调用的,设置文字的格式的,可以直接设定。
相关文章推荐
- [BS-03] 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性
- 用系统的TabBar不让系统渲染图片设置文字背影颜色
- iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置
- 如何设置 tabbar的 选中图标的颜色
- Android中如何设置RadioButton在文字的右边,图标在左边
- 自定义UISearchBar 适配IOS6和IOS7 修改放大镜图标 修改光标颜色 修改边框颜色 placeholder颜色 设置文本框背景
- iOS不得姐项目--登录模块的布局,设置文本框占位文字颜色,自定义内部控件竖直排列的按钮
- 如何设置和改变win xp系统属性的图标?
- CListCtrl ICon图标模式下,如何让设置背景透明与文字置透明
- 如何为自定义控件设置图标——ToolboxBitmap的用法
- Win10系统如何根据需要自定义主题颜色
- 设置 tabBar 下面文字和图片颜色
- Android 如何给Button上面的文字设置点击后变颜色
- UITextField的placeholder文字的位置,颜色等的自定义设置
- 未选中的TabBarItem的图标颜色,默认是灰色的,该怎么设置默认为白色。
- 自定义radiobutton图标以及文字与按钮的距离设置
- UITextField的placeholder文字的位置,颜色等的自定义设置
- 如何设置状态栏的文字颜色
- Flex中如何给Accordion的各个头部文字设置不同颜色
- Android 如何给Button上面的文字设置点击后变颜色