关于标签栏(UITabBarItem)的系统颜色和图片以及标题颜色的问题
2015-05-12 10:41
579 查看
关于标签栏(UITabBarItem),大多数的程序都会使用自定义的标签栏,以前我做的的都是利用代码进行自定义的,最近发现事故板(storyboard(iOS5的新特性))的重要性,就尝试着用事故板来做一些自定义的项目。可是问题来了,自定义的图片和选中图片都是系统的颜色(不是灰色就是蓝色),然人很头疼,还有标签栏的标题也是如此。那么下面我们就来看看如何来解决:
利用事故板创建的标签导航模式有些图片文字属性在事故板中都有,如图:
标题,图片和选中图片都可以设置。不过当我们设置好了之后就会出现下图这样的问题
除了灰色就是蓝色,标题也是如此。(如果选中图片的属性要是设置的话,那么会出现图片消失的情况)
为了保证图片,选中图片,标题 都不会被系统渲染,达到想要的结果最好要在UITabBarController中去实现添加如下代码。
UIImage *img = [UIImageimageNamed:@"tab_0"];
// 系统默认的是渲染成灰色的
img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//修改渲染
UIImage *img_c = [UIImage imageNamed:@"tab_c0"];
// 系统默认的是渲染成蓝色的
img_c = [img_c imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//修改渲染
UITabBarItem *item = [self.tabBar.itemsobjectAtIndex:0];
// 未选中图片
[item setImage:img];
// 选中图片
[item setSelectedImage:img_c];
// 标题颜色
UIColor *titleHighlightedColor = [UIColorcolorWithRed:123.0/255.0green:194.0/255.0blue:22.0/255.0alpha:1.0];
[itemsetTitleTextAttributes:[NSDictionarydictionaryWithObjectsAndKeys:titleHighlightedColor,NSForegroundColorAttributeName,nil]
forState:UIControlStateSelected];
关于字体可以用全局的,这样就不用每个标题进行设置了。
//未选中字体颜色
[[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor:unselectColor,UITextAttributeFont:[UIFont fontWithName:foneName size:size]} forState:UIControlStateNormal];
//选中字体颜色
[[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor:selectColor,UITextAttributeFont:[UIFont fontWithName:foneName size:size]} forState:UIControlStateSelected];
感谢参考,希望对您有所帮助,如有纰漏请指正。
利用事故板创建的标签导航模式有些图片文字属性在事故板中都有,如图:
标题,图片和选中图片都可以设置。不过当我们设置好了之后就会出现下图这样的问题
除了灰色就是蓝色,标题也是如此。(如果选中图片的属性要是设置的话,那么会出现图片消失的情况)
为了保证图片,选中图片,标题 都不会被系统渲染,达到想要的结果最好要在UITabBarController中去实现添加如下代码。
UIImage *img = [UIImageimageNamed:@"tab_0"];
// 系统默认的是渲染成灰色的
img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//修改渲染
UIImage *img_c = [UIImage imageNamed:@"tab_c0"];
// 系统默认的是渲染成蓝色的
img_c = [img_c imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//修改渲染
UITabBarItem *item = [self.tabBar.itemsobjectAtIndex:0];
// 未选中图片
[item setImage:img];
// 选中图片
[item setSelectedImage:img_c];
// 标题颜色
UIColor *titleHighlightedColor = [UIColorcolorWithRed:123.0/255.0green:194.0/255.0blue:22.0/255.0alpha:1.0];
[itemsetTitleTextAttributes:[NSDictionarydictionaryWithObjectsAndKeys:titleHighlightedColor,NSForegroundColorAttributeName,nil]
forState:UIControlStateSelected];
关于字体可以用全局的,这样就不用每个标题进行设置了。
//未选中字体颜色
[[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor:unselectColor,UITextAttributeFont:[UIFont fontWithName:foneName size:size]} forState:UIControlStateNormal];
//选中字体颜色
[[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor:selectColor,UITextAttributeFont:[UIFont fontWithName:foneName size:size]} forState:UIControlStateSelected];
感谢参考,希望对您有所帮助,如有纰漏请指正。
相关文章推荐
- 解决iOS8以上系统下app底部UITabBarItem上自定义的背景色和图片,在首次启动或push之后再pop回去会变成系统默认颜色-蓝色问题
- 【iOS开发-28】制造一个UITabBarController标签控制器、定制UITabBarItem文字图片的6种方式以及More讲解
- xcode6.1 自定义tabbar与poptoview产生重叠问题以及ios8上自定义tabbar图片显示颜色是系统颜色问题
- 在iOS8系统下,UITabbar上的item自定义背景色和图片问题
- 在iOS8系统下,UITabbar上的item自定义背景色和图片问题 (
- iOS 关于UITabBarItem 选中图片的颜色以及标题的颜色设置
- iOS开发制造一个UITabBarController标签控制器、定制UITabBarItem文字图片的6种方式以及More
- IOS 7修改UITabbar背景图片、UITabBarItem图片以及UITabBarItem的文字颜色.
- 给系统的UITabbarViewController 的tabBarItem 添加图片的问题
- 在iOS8系统下,UITabbar上的item自定义背景色和图片问题
- 在iOS8系统下,UITabbar上的item自定义背景色和图片问题
- tabbar Item图片原色显示以及标题字体大小颜色控制
- 使用系统UITabbarItem自定义图片显示原本颜色和自定义文字颜色
- iOS7修改UITabBar文本颜色以及解决自定义选中图片显示为默认蓝色的问题
- 在iOS8系统下,UITabbar上的item自定义背景色和图片问题
- IOS UITabBar+UINavigation(改变背景/标题文字颜色、状态图片、tabbar选中方形背景、item间距)
- 关于UITabbarItem定制选中与未选中两张图片的问题
- iOS 系统自带UITabBarController 字体颜色以及图片的控制
- Android 关于RecyclerView瀑布流显示图片时Item切换、闪烁等问题优化
- 关于三星手机调用系统相机拍照旋转屏导致图片数据丢失问题