iOS开发- UITabBarItem自定义图片
2015-06-15 14:03
381 查看
1:如图一下效果
代码如下:
QRcodeViewController *threeViewController
= [[QRcodeViewControlleralloc]init];
UINavigationController *threeNavigationController
= [[UINavigationControlleralloc]initWithRootViewController:threeViewController];
threeNavigationController.navigationBar.barStyle =UIBarStyleBlack;
UIImage* image = [[UIImageimageNamed:@"btn_saoyisao_default"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; //这两个地方一定要加上
UIImage* selectedImage = [[UIImageimageNamed:@"btn_saoyisao_enter"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem* tabBarItemL = [[UITabBarItemalloc]initWithTitle:nil
image:imageselectedImage:selectedImage];
threeNavigationController.tabBarItem=tabBarItemL;
threeNavigationController.tabBarItem.imageInsets =UIEdgeInsetsMake(5,0,
-5,0);
2:去除灰色
在项目中使用UITabBarController的时候, 每个UITabBarItem都可以展示对应的图片。
UITabBarItem有两种状态, 即 选中/ 非选中状态。
如果用storyboard设置图片, 那么设置的是选中状态的图片, 并且, 它会自动的填充为深蓝色. (就是 default color)至于非选中状态呢, 它会自动的变成灰色。
这大大影响了美观。
如下:
我们想要的效果, 应该是这样的:
如果要变成这样, 需要在UITabBarController中加入如下代码:
NSArray *items = self.tabBar.items;
UITabBarItem *homeItem = items[0];
homeItem.image = [[UIImage imageNamed:@"tab_buddy_nor.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
homeItem.selectedImage = [[UIImage imageNamed:@"tab_buddy_press.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem *qqItem = items[1];
qqItem.image = [[UIImage imageNamed:@"tab_me_nor.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
qqItem.selectedImage = [[UIImage imageNamed:@"tab_me_press.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
代码如下:
QRcodeViewController *threeViewController
= [[QRcodeViewControlleralloc]init];
UINavigationController *threeNavigationController
= [[UINavigationControlleralloc]initWithRootViewController:threeViewController];
threeNavigationController.navigationBar.barStyle =UIBarStyleBlack;
UIImage* image = [[UIImageimageNamed:@"btn_saoyisao_default"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; //这两个地方一定要加上
UIImage* selectedImage = [[UIImageimageNamed:@"btn_saoyisao_enter"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem* tabBarItemL = [[UITabBarItemalloc]initWithTitle:nil
image:imageselectedImage:selectedImage];
threeNavigationController.tabBarItem=tabBarItemL;
threeNavigationController.tabBarItem.imageInsets =UIEdgeInsetsMake(5,0,
-5,0);
2:去除灰色
在项目中使用UITabBarController的时候, 每个UITabBarItem都可以展示对应的图片。
UITabBarItem有两种状态, 即 选中/ 非选中状态。
如果用storyboard设置图片, 那么设置的是选中状态的图片, 并且, 它会自动的填充为深蓝色. (就是 default color)至于非选中状态呢, 它会自动的变成灰色。
这大大影响了美观。
如下:
我们想要的效果, 应该是这样的:
如果要变成这样, 需要在UITabBarController中加入如下代码:
NSArray *items = self.tabBar.items;
UITabBarItem *homeItem = items[0];
homeItem.image = [[UIImage imageNamed:@"tab_buddy_nor.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
homeItem.selectedImage = [[UIImage imageNamed:@"tab_buddy_press.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem *qqItem = items[1];
qqItem.image = [[UIImage imageNamed:@"tab_me_nor.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
qqItem.selectedImage = [[UIImage imageNamed:@"tab_me_press.png"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
相关文章推荐
- UILabel 常用属性
- 多线程02-GCD 掌握
- String StringBuffer StringBuilder区别
- error loading /system/media/audio/ui/KeypressStandard.ogg
- IOS 实现系统UINavigationController UINavigationBar 透明效果
- #leetcode#Permutation Sequence
- SDWebImage源码解析之SDWebImageManager的注解
- 管理系统UI之五:响应UI可见性的变化(Responding to UI Visibility Changes)
- 管理系统UI之四:使用全屏沉浸模式(Using Immersive Full-Screen Mode)
- easyui刷新当前页
- 由buffered:true引致Grid统计出错
- [前端_EasyUI]给easyui的datebox设置默认值,获取不到 的解决方法
- MVC模式在UI里的应用
- Servlet--SingleThreadModel接口,RequestDispatcher接口
- 管理系统UI之一:淡化System Bar(Dimming the System Bars)
- Servlet--SingleThreadModel接口,RequestDispatcher接口
- [Algorithms] Longest Increasing Subsequence
- string -- value
- jsp 中 request.getHeader() 相关详细
- On-Demand Resources Guide中文版(按需加载资源--下)