实现tabbaritem背景色的切换

先附上效果图

1.jpg

在UITabBarController的viewDidLoad中

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

#pragma mark - 实现tabbar选中的item区域变色
//此处的3不可写self.tabBar.items.count, 会发生回朔错误
self.tabBar.selectionIndicatorImage = [NAAppTools drawTabBarItemBackgroundImageWithItemCount:3];

}

在AppTools中
+ (UIImage *)drawTabBarItemBackgroundImageWithItemCount:(NSInteger)itemCount{

CGSize indicatorImageSize = CGSizeMake(SCREEN_WIDTH / itemCount, TABBAR_HEIGHT);

UIGraphicsBeginImageContext(indicatorImageSize);
CGContextRef ctx = UIGraphicsGetCurrentContext();

//具体什么颜色在这改, 默认橘黄色
CGContextSetRGBFillColor(ctx, 1.0, 0.84, 0.33, 1);

CGContextFillRect(ctx, CGRectMake(0, 0, indicatorImageSize.width, indicatorImageSize.height));

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

特别鸣谢: http://www.jianshu.com/users/a1123b6fcadb/latest_articles 的作者流年如秋

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容