美文网首页iOS学习笔记复制粘贴iOS开发
2.3 系统默认渲染图片为蓝色的解决方案

2.3 系统默认渲染图片为蓝色的解决方案

作者: js_huh | 来源:发表于2016-07-18 11:50 被阅读71次

iOS 7以后,系统默认会把UITabBarController 的图片渲染成蓝色?

系统默认的效果
修改后的效果
  1. 直接修改图的渲染模式


    修改图的渲染模式
  2. 使用代码,修改渲染模式
UIViewController *home = [[UIViewController alloc]init];
UIImage * img= [UIImage imageNamed:@"图片名"];
//保持原图片样式
img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
home.tabBarItem.selectedImage = img;
  1. 使用分类,来修改渲染模式(推荐)
    创建分类
    第一步:
    第二步:
    分类的代码
#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:@"图片名"];

相关文章

网友评论

    本文标题:2.3 系统默认渲染图片为蓝色的解决方案

    本文链接:https://www.haomeiwen.com/subject/ckvpjttx.html