iOS 7以后,系统默认会把UITabBarController 的图片渲染成蓝色?
修改后的效果
-
直接修改图的渲染模式
修改图的渲染模式 - 使用代码,修改渲染模式
UIViewController *home = [[UIViewController alloc]init];
UIImage * img= [UIImage imageNamed:@"图片名"];
//保持原图片样式
img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
home.tabBarItem.selectedImage = img;
- 使用分类,来修改渲染模式(推荐)
创建分类
第一步:
第二步:
分类的代码
#import <UIKit/UIKit.h>
@interface UIImage (Image)
+(instancetype)imageWithOriginalName:(NSString *)name;
@end
#import "UIImage+Image.h"
@implementation UIImage (Image)
+(instancetype)imageWithOriginalName:(NSString *)name {
UIImage *image = [UIImage imageNamed:name];
return [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
@end
UIViewController *home = [[UIViewController alloc]init];
//设置选中的image
home.tabBarItem.selectedImage = [UIImage imageWithOriginalName:@"图片名"];
网友评论