美文网首页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