iOS 设置tabBar点击后Item的背景颜色.

正常在用tabBarController的时候背景色的设置可以是

[_tabbarViewController.tabBarsetBackgroundImage:[UIImageimageWithColor:UIColorFromRGB(0xf5f5f5)]];



但是当你点击某个Item 想让Item的背景色发生变化.可以参考下面这段代码.

 _tabbarViewController.tabBar.selectionIndicatorImage = [UIImageimageWithColor:UIColorFromRGB(0xffffff)size:CGSizeMake(SCREEN_WIDTH /4,PHONE_CUSTOM_TABBAR_HEIGHT)];



上面那两个类方法并不是系统的,是我写到了UIImage的类目里 内部实现如下。

+ (UIImage *)imageWithColor:(UIColor *)color {

    CGRect rect =CGRectMake(0.0f,0.0f, 1.0f,1.0f);

    UIGraphicsBeginImageContext(rect.size);

    CGContextRef context =UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [colorCGColor]);

    CGContextFillRect(context, rect);

    UIImage *theImage =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return theImage;

}


+ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size {

    if (!color || size.width <=0 || size.height <=0) return nil;

    CGRect rect =CGRectMake(0.0f,0.0f, size.width, size.height);

    UIGraphicsBeginImageContextWithOptions(rect.size,NO, 0);

    CGContextRef context =UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, color.CGColor);

    CGContextFillRect(context, rect);

    UIImage *image =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值