博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS7 故事版创建tanbar
阅读量:5129 次
发布时间:2019-06-13

本文共 3598 字,大约阅读时间需要 11 分钟。

在ios7中,方法setFinishedSelectedImage:withFinishedUnselectedImage: 已经被弃用。所以假设直接设置tabBarItem的selectImage和image时会出现不能显示图片的问题。效果可能如图:

这个跟自己先要的图片是明显不一样的,自己的图片如图:

还有一个选中状态是白色的就不截图了,从上面已经能够看出来不一样了,以下来说下详细怎么写成自己想要的效果,效果如图:

怎么创建 就不说了,tabbarViewController大家都会创建,以下来说具体的设置

UITabBar *tabBar = self.tabBar;        UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];    UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];    UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];    UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];    UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4];
创建5个
UITabBarItem,
然后就開始设置Item的图片了
UIImage *tabBarItem1Image = [UIImage imageNamed:@"11"];    UIImage *imgS1Image =[UIImage imageNamed:@"11s"];    tabBarItem1.selectedImage = [tabBarItem1Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem1.image = [imgS1Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem2Image = [UIImage imageNamed:@"12"];    UIImage *imgS2Image =[UIImage imageNamed:@"12s"];    tabBarItem2.selectedImage = [tabBarItem2Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem2.image = [imgS2Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem3Image = [UIImage imageNamed:@"13"];    UIImage *imgS3Image =[UIImage imageNamed:@"13s"];    tabBarItem3.selectedImage = [tabBarItem3Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem3.image = [imgS3Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem4Image = [UIImage imageNamed:@"14"];    UIImage *imgS4Image =[UIImage imageNamed:@"14s"];    tabBarItem4.selectedImage = [tabBarItem4Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem4.image = [imgS4Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];        UIImage *tabBarItem5Image = [UIImage imageNamed:@"15"];    UIImage *imgS5Image =[UIImage imageNamed:@"15s"];    tabBarItem5.selectedImage = [tabBarItem5Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];    tabBarItem5.image = [imgS5Image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
上面的设置的方法就是iOS7以后用的。
着色(Tint Color)是iOS7界面中的一个重大改变,你能够设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个仅仅读属性:renderingMode。相应的另一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。

该枚举中包括下列值:

 UIImageRenderingModeAutomatic// 依据图片的使用环境和所处的画图上下文自己主动调整渲染模式。

 UIImageRenderingModeAlwaysOriginal// 始终绘制图片原始状态。不使用Tint Color

 UIImageRenderingModeAlwaysTemplate,// 始终依据Tint Color绘制图片,忽略图片的颜色信息。

接下来改动item的文字。代码例如以下

[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f],                                                        NSForegroundColorAttributeName : [UIColor orangeColor]                                                        } forState:UIControlStateNormal];//未选中    [[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:10.0f],                                                        NSForegroundColorAttributeName : [UIColor greenColor]                                                        } forState:UIControlStateSelected];//选中

设置背景图片及选中item时的图片例如以下

//设置选中item后,显示在此item以下的图⽚    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"select_bg"];    //设置tabBar的背景图⽚    self.tabBar.backgroundImage = [UIImage imageNamed:@"show_bg"];
大功告成!

转载于:https://www.cnblogs.com/jzdwajue/p/7045482.html

你可能感兴趣的文章
栅栏里的葱
查看>>
log info
查看>>
word中如何将空格变成换行
查看>>
Python - 字符编码篇
查看>>
什么是分布式系统 一个分布式系统需要什么结构
查看>>
代理目的是监听,监听的目标是代理方法的参数
查看>>
CSS之定位,relative/absolute/fixed的用法
查看>>
php中一个"异类"语法: $a && $b = $c; 【转载】
查看>>
Rsync的配置与使用
查看>>
django模板中关于过滤器的使用
查看>>
Let the Balloon Rise HDU水题
查看>>
4401: 优美数
查看>>
Codeforces Gym101522 C.Cheering-字符串 (La Salle-Pui Ching Programming Challenge 培正喇沙編程挑戰賽 2017)...
查看>>
计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)...
查看>>
翻译 有助于程序命名
查看>>
斐波那契
查看>>
填格子3*N的方框使用2*1的矩形进行填充
查看>>
为什么需要数据结构
查看>>
简单选择排序
查看>>
前端小工具
查看>>