实现了一下内容:

1.设置tabBarItem选中及非选中时的图片,图片充满item;

2.调整了 tabBar 高度;

3.改变了title颜色及位置.

------------代码如下:

---TabBarC.m---

#import "TabBarC.h"

#import "ViewController.h"

#import "SecViewController.h"

#define CustomTabBarHeight 60//不需要改变高度就换成self.tabBar.frame.size.height

#define CustomTabBarWidth self.tabBar.frame.size.width

@interface TabBarC ()

@end

@implementation TabBarC

- (void)viewDidLoad {

[super viewDidLoad];

//初始化子控制器

ViewController *onevc = [[ViewController alloc] init];

SecViewController *twovc = [[SecViewController alloc] init];

//将VC, 未选中图,选中图 放到数组里

NSArray *onevcArr = @[onevc,@"one_icon",@"sel_one_icon"];

NSArray *twovcArr = @[twovc,@"two_icon",@"sel_two_icon"];

NSArray *vcArr = @[onevcArr,twovcArr];

[self addToTabBar:vcArr];

}

//添加子控制器到 tabBar

- (void)addToTabBar:(NSArray *)array{

for (NSInteger i=0; i<array.count; i++) {

NSArray *everyVCArr = array[i];

UIViewController *everyVC = everyVCArr[0];

everyVC.title = @"vc标题";

everyVC.view.backgroundColor = [UIColor whiteColor];

//将图片插入的位置向下移动5.5 ; top和 bottom不为相反数点击时图片会变

everyVC.tabBarItem.imageInsets = UIEdgeInsetsMake(5.5, 0, -5.5, 0);

//tabBarItem的宽

NSInteger itemWidth = CustomTabBarWidth/array.count;

#pragma -------注意:(不设置tabBarItem.image的话,其他tabBarItem的设置都无效)

#pragma -------这里没有准备不同尺寸的合适的图片,为了展示效果直接将图片缩放到合适尺寸,缩放步骤可省略

//--------设置非选中时的图片,图设置为原始状态

everyVC.tabBarItem.image = [[self editImage:everyVCArr[1] toSize:CGSizeMake(itemWidth, CustomTabBarHeight)]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

//设置选中时的图片,图设置为原始状态

everyVC.tabBarItem.selectedImage = [[self editImage:everyVCArr[2] toSize:CGSizeMake(itemWidth, CustomTabBarHeight)]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

//调整 tabBarItem 标题位置

[everyVC.tabBarItem setTitlePositionAdjustment:UIOffsetMake(0, 5)];

//设置字体颜色

NSMutableDictionary *textAttribute = [NSMutableDictionary dictionary];

textAttribute[NSForegroundColorAttributeName] = [UIColor blackColor];

[everyVC.tabBarItem setTitleTextAttributes:textAttribute forState:UIControlStateNormal];

//设置字体颜色

[everyVC.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateSelected];

everyVC.tabBarItem.title = @"啦啦啦啦啦啦";

UINavigationController *nvc = [[UINavigationController alloc]initWithRootViewController:everyVC];

[self addChildViewController:nvc];

}

NSLog(@"

设置tabBar的图片/高度/title颜色的更多相关文章

  1. NX二次开发-UFUN设置工程图PNG图片高度UF_DRF_set_image_height

    #include <uf.h> #include <uf_drf.h> UF_initialize(); //插入PNG char* file_name = "D:\ ...

  2. iOS TabbarController 设置底部Toolbar图片和文字颜色选中样式

    提取公共方法: -(void)createChildVcWithVc:(UIViewController *)vc Title:(NSString *)title image:(NSString *) ...

  3. 使用系统UITabbarItem自定义图片显示原本颜色和自定义文字颜色

    ...... ThirdViewController *thirdVC = [[ThirdViewControlleralloc]initWithTitle:@"搜索信息"]; / ...

  4. geiUItabBarItem设置图片颜色和title颜色

    设置图片颜色 tabBarVCtrl.tabBar.selectedImageTintColor = [UIColor greenColor];//设置tabBarItem选中时的字图颜色,iOS 8 ...

  5. UITabBar-UITabBarItem图片的背景颜色属性和文字的颜色大小设置

    UITabBarItem设置的图片选中状态下默认的是蓝色,如何改变它的颜色为图片自带的颜色呢? typedef NS_ENUM(NSInteger, UIImageRenderingMode) { / ...

  6. iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置

    在开发项目的时候,如果是使用故事版设计的架构,那么在设置tabbar小图标的时候,可能会出现一点小问题, 成功的设置方法如下: 1.设置seleectedImage和image,其实就是非选中状态的图 ...

  7. 设置 TabBarItem 选中时的图片及文字颜色

    TabBarController 是在 ios 开发过程中使用较为频繁的一个 Controller,但是在使用过程中经常会遇到一些问题,例如本文所要解决的,如何修改 TabBar 选中时文字及图片的颜 ...

  8. 设置TabBarItem选中时的图片及文字颜色

    TabBarItem选中时,默认文字和图片都变为蓝色.使用以下代码可以进行修改. MainViewController *mainVC = [[MainViewController alloc] in ...

  9. 设置TabBar图片

    设置TabBar图片 // 拿到 TabBar 在拿到想应的item UITabBar *tabBar = _tabBarController.tabBar; UITabBarItem *item0 ...

随机推荐

  1. Spring MVC上传文件原理和resolveLazily说明

    问题:使用Spring MVC上传大文件,发现从页面提交,到进入后台controller,时间很长.怀疑是文件上传完成后,才进入.由于在HTTP首部自定义了“Token”字段用于权限校验,Token的 ...

  2. mac 安装 XX-Net-3.12.11

    目录 一 下载xx-net稳定版 二 使用Chrome浏览器 三 开启IPv6 mac禁用SIP机制 SIP 步骤 其他 附完整的csrutil命令 一 下载xx-net稳定版 github稳定版-X ...

  3. acm博弈论基础总结

    acm博弈论基础总结 常见博弈结论 Nim 问题:共有N堆石子,编号1..n,第i堆中有个a[i]个石子. 每一次操作Alice和Bob可以从任意一堆石子中取出任意数量的石子,至少取一颗,至多取出这一 ...

  4. HDU4117 GRE WORDS(AC自动机+线段树维护fail树的dfs序)

    Recently George is preparing for the Graduate Record Examinations (GRE for short). Obviously the mos ...

  5. Zabbix与ELK整合实现对日志数据的实时监控

    4.2.zabbix平台配置日志告警 一. ELK与zabbix有什么关系? ELK大家应该比较熟悉了,zabbix应该也不陌生,那么将ELK和zabbix放到一起的话,可能大家就有疑问了?这两个放到 ...

  6. css3(2)

    旋转: 2D:transform: rotate()——进行旋转,括号内部写旋转角度,默认顺时针旋转.允许负值,元素将进行逆时针旋转, translate()——从当前位置进行移动,括号内为x,y值. ...

  7. K3cloud、erp系统实时滚动展示未处理数据,监控投诉处理进度

     痛点:企业内部erp人工记录产品投诉销售单,是否跟踪处理完客户投诉,结果不能实时透明,当天还有多少未解决的投诉单,也不能实时查看到,除非手工去系统单据查询,很不方便,跟踪也不顺畅!   解决方案:利 ...

  8. 大数据学习笔记——Java篇之IO

    IO学习笔记整理 1. File类 1.1 File对象的三种创建方式: File对象是一个抽象的概念,只有被创建出来之后,文件或文件夹才会真正存在 注意:File对象想要创建成功,它的目录必须存在! ...

  9. js方法中参数传过来的值包含括号

    前提,传递的id为变量值,比如从后台获取数据循环,在每个循环里调用shenpi()方法,假设传的id包含括号,例如 20190329100833(更正) 这样的数据,那么直接调用会报错,控制台会报错: ...

  10. skipping archived logs of thread 1 from sequence 29 to 46; already backed up

    问题描述:删除归档的备份,在进行归档的重新备份,提示:skipping archived logs of thread 1 from sequence 29 to 46; already backed ...