更多
黑客联盟 黑客软件
学生黑客联盟
您现在的位置:学生黑客联盟 > 编程频道 > 移动开发 > 浏览信息
iOS7 故事版创建tanbar
时间:2015-03-20 22:06 来源:www.stuhack.com 作者:学盟网
在ios7中,方法setFinishedSelectedImage:withFinishedUnselectedImage: 已经被弃用,所以如果直接设置tabBarItem的selectImage和image时会出现不能显示图片的问题,效果可能如图: 这个跟自己先要的图片是明显不一样的,自己的图片如图: 另一个选中状态是

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

\

本文来自学盟网(www.stuhack.com)

这个跟自己先要的图片是明显不一样的,自己的图片如图: 本文来自学盟网(www.stuhack.com)

\

copyright www.stuhack.com

另一个选中状态是白色的就不截图了,从上面已经可以看出来不一样了,下面来说下具体怎么写成自己想要的效果,效果如图: 学生黑客联盟 www.stuhack.com

\
内容来自学生黑客联盟

怎么创建 就不说了,tabbarViewController大家都会创建,下面来说详细的设置 学生黑客联盟 www.stuhack.com

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]; 
学生黑客联盟 www.stuhack.com

创建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]; 本文来自学盟网(www.stuhack.com) 

上面的设置的方法就是iOS7以后用的,着色(Tint Color)是iOS7界面中的一个重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:

学生黑客联盟 www.stuhack.com

内容来自学生黑客联盟

UIImageRenderingModeAutomatic// 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。 本文来自学盟网(www.stuhack.com)

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

UIImageRenderingModeAlwaysTemplate,// 始终根据Tint Color绘制图片,忽略图片的颜色信息。 www.stuhack.com


接下来修改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];//选中 本文来自学盟网(www.stuhack.com) 
www.stuhack.com


本文来自学盟网(www.stuhack.com)

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

//设置选中item后,显示在此item下面的图?
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"select_bg"];
    
//设置tabBar的背景图?
    self.tabBar.backgroundImage = [UIImage imageNamed:@"show_bg"]; 

学盟网



大功告成! www.stuhack.com




本文标题:iOS7 故事版创建tanbar

本文地址:http://www.stuhack.com/bc/yidong/032014268.html

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。




百度钱包“落子

一个商户通过审核入驻百度钱包,将获得百度[查看详细]

移动搜索&发

移动搜索在移动端的创新和颠覆也为百度探索[查看详细]

张向宁:移动互联

张向宁回顾了他2002年提出的“互联网十大预[查看详细]

淘宝开卖二维码门

截至4月20日,淘宝已经售出车展的实体门票[查看详细]

百度钱包杀入移动

“百度钱包”将完成的 “搜索用户”与“消[查看详细]