| 值 | 意义 |
| UIImageRenderingModeAutomatic | 根据图片的使用位置自动调整渲染模式(默认值) |
| UIImageRenderingModeAlwaysOriginal | 始终绘制图片原始状态,不适用tint color。 |
| UIImageRenderingModeAlwaysTemplate | 使用根据tint color绘制图片,忽略图片的颜色信息 |
设置选中的图片的render mode 为UIImageRenderingModeAlwaysOriginal就ok。
在item的viewController添加如下代码:
self.tabBarItem.image=[UIImage imageNamed:@"findNormal"];
self.tabBarItem.selectedImage=[UIImage imageNamed:@"findSelected.png"];
UIImage *image = [self.tabBarItem.selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.tabBarItem.selectedImage = image;
[self.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor redColor]} forState:UIControlStateSelected];
文字解决如下:在item的viewController添加如下代码
[self.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor redColor]} forState:UIControlStateSelected];

通过设置UIImageRenderingModeAlwaysOriginal解决TabBar选中图片不显示的问题,代码实现选中状态图片的正确显示和文字颜色变为红色。
2545

被折叠的 条评论
为什么被折叠?



