iOS7 故事版创建tanbar

在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"];

大功告成!

时间: 2024-10-10 05:26:18

iOS7 故事版创建tanbar的相关文章

swift - storyboard(故事版)的使用

iOS开发中,苹果公司提供了一种可视化的编程方式:即xib和storyboard,xib相对来说比较灵活,可以在纯代码的项目中使用, 也可以和storyboard配合使用,用法都差不多,下面来总结一下故事版的使用方法: 1,初始 选中viewcontrolller,在属性面板里勾选Is Initial View Controller,即可设置为其实场景,前面会有灰色的小箭头 2,将viewconroller的尺寸改成iPhone的大小 3,添加segue 使用segue的好处是,页面的千幻不在需

IOS开发之国际化篇第三章:故事版文本国际化

在IOS的开发过程中,很多时候组件都是拖拉出来,直接在故事版(storyboard)上直接使用,而并没有做输出关联,或者有些UILabel只做显示,不会进行修改.所以在这种不会在代码中修改的情况下,就需要用到故事版的国际化,如图 在xcode4.5之前,如果做故事版的国际化,是要维护多个storyboard,但在xcode4.5之后,国际化storyboard做国际化,就变成了一个storyboard,多个语言配置文件如图 其中Main.storyboard为真实的故事版文件,Main.stri

[Xcode10 实际操作]九、实用进阶-(25)使用Storyboard(故事版)的约束功能,使项目快速适配各种分辨率的设备

本文将演示使用故事版的约束功能,使项目快速适配各种分辨率的设备. 在项目导航区打开并编辑主故事版[Main.storyboard]. 在当前故事版中,已经存在一个适配4寸屏幕的界面, 点击设备名称,更改设备类型.在弹出的模拟器列表中,选择一款拥有4.7寸屏幕的模拟器. 然后通过系统提供的约束功能,对各尺寸屏幕进行适配. 在故事版文档框架区中的[View Controller],点击显示[MainView]视图下的所有子元素. 该视图是添加的自定义视图,尺寸与根视图相同,并且包含了页面中的所有元素

quick3.3final版创建项目报错解决

quick3.3final版创建项目报错解决 今天新下载了quick3.3final版,于是安装,创建项目,打开player新建项目如下图 然后点击创建,就发生了如下错误,相信应该有不少朋友会碰到的 首先,这里有两个错误 1.PHP Notice:  Undefined index: extracmd in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/ProjectCreator.php on line 117 这是117行有未

ios7 中代码创建 ScrollView TextView 等,默认向下缩进的解决办法

这个问题,记得以前困扰了好久.表现出来的现象就是 ScrollView 中的 ContentView 会往下移动一段距离,现在 textView 也是如此,会自动将光标下移. 后来发现这个距离差不多是 NavigationBar 的高度,才从这里找问题,最终找到了. @property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES 需要设置

[Xcode10 实际操作]九、实用进阶-(26)对Storyboard(故事版)中的文字标签(Label)进行本地化处理

对Storyboard(故事版)中的文字标签(Label)进行本地化处理. 点击项目名称[DemoApp]进入项目信息面板. [Build Setting]->[Localizations]本地化下方的[+]弹出语言列表 ->选择[Chinese(Simplified)(zh-Hans)]简体中文 ->点击取消选择[LaunchScreen.storyboard]启动视图左侧的复选框, 只保留对[Main.storybooard]主故事板进行本地化处理. ->点击[Finish]完

ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作

1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其自带的卸载工具进行卸载[universal installer],然后删除注册表项,删除环境变量,删除目录并且重新启动计算机. 2.在网页版进行创建表空间: 进入网页版: 在电脑的服务中我们可以看到一共有7个oracle的服务项目,其中只有三个是正在启动中.这三项中,只有当OracleDBConso

二次开发网狐6701经典版--创建数据库

准备工具: 1. 网狐6701经典版建库脚本 :点击下载 2.网狐6701经典版的服务端和客户端源码 :qq:2330691071,请与我联系. 数据库角本压缩包解压后如下: 记事本打开 一键安装.bat,其中的 set rootPath=数据库脚本\,些处我有按当前存放文件的目录做修改,比如我改成了,set rootPath=D:\经典版三网通\脚本代码\,确保能找到目录. @echo off TITLE 棋牌数据库[Ver6.6_Spreader] 建立脚本启动中... [期间请勿关闭] m

pycharm社区版创建django项目(Windows 8.1)

django是Python的一个开源web框架,在pycharm开发环境中,pycharm专业版在新建一个项目的时候有django选项,帮助创建一个django框架的项目.pycharm社区版需要自己创建 第一步:安装django框架 可以用pycharm安装,打开file \ setings \ project \ project interpreter  查看项目已安装的包,单击绿色加号添加目标框架, 注意记录django的安装路径,我的安装路径是:  c:\users\用户名\appdat