最近看到一个选中tabbar的item后改变其背景色的app,结合资料,也尝试了看看,以下为实现方式:
实现方法:
- 在自定义的UITabbarController中的init方法里加上这两句代码:
CGSize indicatorImageSize = CGSizeMake(self.tabBar.frame.size.width / self.viewControllers.count, self.tabBar.frame.size.height);
self.tabBar.selectionIndicatorImage = [self drawTabBarItemBackgroundColorImageWithSize:indicatorImageSize];
-
drawTabBarItemBackgroundColorImageWithSize:
方法实现如下:
- (UIImage*)drawTabBarItemBackgroundColorImageWithSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ref, 6 / 255.0, 173 / 255.0, 114 / 255.0, 1.0);
CGContextFillRect(ref, CGRectMake(0, 0, size.width, size.height));
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}