UITabBarController 、TabBar背景颜色设置,UITabBarItem的文字样式(颜色和大小)UITabBarItem的位置调整
改变UITabBarController的颜色
UIView*mView=[[UIView alloc]initWithFrame:CGRectMake(0,0,320,48)];//这是部分tabbar的颜色
[mView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"ydy1.jpg"]]];
[self.tabBar insertSubview:mView atIndex:1];
mView.alpha=0.8;
效果如图:

设置tabBar的背景色
第一种方式:
[[UITabBar appearance] setBackgroundColor:[UIColor redColor]];//测试时不起作用
[[UITabBar appearance] setBarTintColor:[UIColor redColor]];//这样写才能达到效果。
如果想要得到想要的颜色需要再另外添加一句:
[UITabBar appearance].translucent = NO;// 这句表示取消tabBar的透明效果。
第二种方式:在tabBar上添加一个有颜色的View
UIView *view= [[UIView alloc]init];
view.backgroundColor=[UIColor redColor];
view.frame=self.tabBar.bounds;
[[UITabBar appearance] insertSubview:view atIndex:0];
第三种方式:使用背景图片:
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabBarBackgroundImage"]];
[UITabBar appearance].translucent = NO;
UITabBarItem的文字样式(颜色和大小)
#define WYColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
// 第一种写法
NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary];
textAttrs[NSForegroundColorAttributeName] = WYColor(123, 123, 123);
textAttrs[NSFontAttributeName]=[UIFont fontWithName:@"Helvetica" size:12.0f];
NSMutableDictionary *selectTextAttrs = [NSMutableDictionary dictionary];
selectTextAttrs[NSForegroundColorAttributeName] = WYColor(50, 156, 245);
selectTextAttrs[NSFontAttributeName]=[UIFont fontWithName:@"Helvetica" size:18.0f];
[[UITabBarItem appearance] setTitleTextAttributes:textAttrs forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:selectTextAttrs forState:UIControlStateSelected];
// 第二种写法
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], NSForegroundColorAttributeName, [UIFont fontWithName:@"Helvetica" size:12.0f],NSFontAttributeName,nil] forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], NSForegroundColorAttributeName, [UIFont fontWithName:@"Helvetica" size:19.0f],NSFontAttributeName,nil] forState:UIControlStateSelected];
注意:1、设置字体的时候要选择支持中文的字体,不然的话修改字号是无效的,比如字体设置成“ProximaNova-Semibold”。这种字体本身只支持英语,不支持中文,所以使用该字体并不能调整字体大小。
2、如果文字太大的话,会和图片靠的很近,这个时候我们可以让UI设计师给我们切图的时候多留一点边白就可以解决。
UITabBarItem的选中和非选中图片
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[[ViewController alloc] init]];
nav.tabBarItem.image =[[UIImage imageNamed:@"unselect"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
nav.tabBarItem.selectedImage =[[UIImage imageNamed:@"select"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
nav.tabBarItem.title = @"yoowei";
[self addChildViewController:nav];
调整各个ITEM的位置
//未选中的图片(上面的数组没有列出)
UIImage *unselectedImage = [UIImage imageNamed:nor_images[i]];
unselectedImage = [unselectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
//选中的图片
UIImage *selectedImage = [UIImage imageNamed:select_images[i]];
selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:arrayName[i] image:unselectedImage selectedImage:selectedImage];
//设置背景图片的内凹变化,正值向内缩小,负值向外延伸
UIEdgeInsets insets;
insets.left = -5;
insets.right = -5;
tabBarItem.imageInsets = insets;
//设置item.title位置偏移
UIOffset offset;
offset.horizontal = 30;
offset.vertical = -10;
[tabBarItem setTitlePositionAdjustment:offset];
效果如下:(虽然很难看,但是效果达到了)。

UITabBarController 、TabBar背景颜色设置,UITabBarItem的文字样式(颜色和大小)UITabBarItem的位置调整的更多相关文章
- iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...
- 设置UIButton的文字显示位置、字体的大小、字体的颜色
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...
- android textview改变部分文字的颜色和string.xml中文字的替换(转)
转 :http://blog.csdn.net/ljz2009y/article/details/23878669 一:TextView组件改变部分文字的颜色: TextView textView ...
- MAC 终端颜色设置
在bash中,可以通过更改PS1环境变量的值来设置提示行.通常的提示符颜色单调,用户可以通过在PS1中添加颜色代码序列来设置提示符中不同信息以不同颜色显示. 添加颜色相当容易:第一步是设计不带颜色的提 ...
- css单位分析、颜色设置与调色板
CSS单位分析 px:单位代表像素,1px代表一个像素点. %:设置子元素为父容器的占比. em:代表该元素中一个字体所占字符,常用在文字首行缩进.其具有继承性. rem:始终代表html中的字符所在 ...
- iOS开发UITableViewCell的选中时的颜色设置(转)
iOS开发UITableViewCell的选中时的颜色设置 1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyle ...
- 梦想CAD控件COM接口文字样式
增加文字样式 用户可以增加文字样式到数据库,并设置其字体等属性,具体实现c#代码如下: private void CreateText() { MxDrawApplication app = new ...
- 梦想CAD控件网页版文字样式
增加文字样式 用户可以增加文字样式到数据库,并设置其字体等属性,具体实现js代码如下: function CreateText(){ //返回控件的数据库对象 var database =mxOcx. ...
- [BS-03] 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性
1. 统一设置UITabBarController管理的所有VC的tabBarItem图标文字的颜色大小等属性 . 统一设置UITabBarController管理的所有VC的tabBarItem图标 ...
随机推荐
- mybatis配置-返回date类型丢失时间
此博客仅作于平时开发所遇到的问题记录,不做他用,描述可能不好,自己看懂即可~~ resultMap配置返回时间类型时,发现数据库时间是精确到秒的,但是返回给javabean之后丢失时分秒的信息,只有日 ...
- 用html5 js实现浏览器全屏
项目中需要将后台浏览器的窗口全屏,也就是我们点击一个按钮要实现按F11全屏的效果. 在HTML5中,W3C制定了关于全屏的API,就可以实现全屏幕的效果,也可以让页面中的图片,视频等全屏目前只有goo ...
- HttpUrlConnection 的 setDoOutput 与 setDoInput
1 前言 在使用java中的HttpUrlConnection请求一个http网络地址时,我们有时候需要用到此类中的setDoOutput和setDoInput这两个方法,以前学习java的时候,根本 ...
- Linux软连接与硬链接
软链接 Linux中软链接就像是windows系统中的快捷方式 创建软链接格式:ln -s 源文件全路径 软连接全路径 操作演示: 硬链接 硬链接与软连接不同,它相当于源文件的镜像,源文件改变,硬链 ...
- 推荐一些python Beautiful Soup学习网址
前言:这几天忙着写分析报告,实在没精力去研究django,虽然抽时间去看了几遍中文文档,还是等实际实践后写几篇操作文章吧! 正文:以下是本人前段时间学习bs4库找的一些网址,在学习的可以参考下,有点多 ...
- 【WPF系列】基础学习-WPF架构概览
引言 WPF从.net framewok3.0加入以来,经历了很多跟新.每次更新都给用户带来了新的功能或者优化性能.下面我们首先看下WPF再.netFramework中的位置,接着介绍下WPF的架构框 ...
- 怎样用ZBrush对模型进行渲染(二)
继上节课Fisker老师对ZBrush中对渲染和灯光起到重要作用的Light和LightCap进行了具体讲解之后,本节课继续研究Render(渲染)和Light及LightCap相结合会产生什么样的效 ...
- 第24章 java线程(3)-线程的生命周期
java线程(3)-线程的生命周期 1.两种生命周期流转图 ** 生命周期:**一个事物冲从出生的那一刻开始到最终死亡中间的过程 在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态 ...
- codevs 2495 水叮当的舞步
题目链接:水叮当的舞步 我现在开始发题目链接了(主要还是因为懒得整理题面)-- 这道题一开始是看到MashiroSky在写,于是我也开始写这道题了(说白了就是狙击他)-- 这道题看到这么小的范围当然给 ...
- 【UE】关于UE的一个真实案例
看到下面这个页面,你心里是怎么想的?我看到后,我心里会有疑问:咦,是不是程序错了?如果是程序错了,我应该怎么补偿呢?怎么没有刷新按钮? 针对以前几点问题,做以下几点改进: 1.在没有数据时,增加提示, ...