iOS开发- UITabBarItem自定义图片

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中加入如下代码:

  1. NSArray *items = self.tabBar.items;  
  2. UITabBarItem *homeItem = items[0];  
  3. homeItem.image = [[UIImage imageNamed:@"tab_buddy_nor.png"] 
  4.                            imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  

  1. homeItem.selectedImage = [[UIImage imageNamed:@"tab_buddy_press.png"] 
  2.                            imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  
  3.   
  4. UITabBarItem *qqItem = items[1];  
  5. qqItem.image = [[UIImage imageNamed:@"tab_me_nor.png"]
  6.                 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  

  7. qqItem.selectedImage = [[UIImage imageNamed:@"tab_me_press.png"] 
  8.                 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值