美文网首页
封装一个使用原始图片的分类

封装一个使用原始图片的分类

作者: 凡尘一笑 | 来源:发表于2017-02-09 10:47 被阅读30次

    有些图片显示出来会自动渲染成蓝色

    比如

    • 设置tabBarItem的选中图片
    vc.tabBarItem.selectedImage = image;
    
    • 设置UIButtonTypeSystem样式按钮的image时
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
    [btn setImage:image forState:UIControlStateNormal];
    

    解决方案

    • 再次产生一张不会进行渲染的图片
    // 加载图片
    UIImage *tempImage = [UIImage imageNamed:@"tabBar_essence_click_icon"];
    // 产生一张不会进行自动渲染的图片
    UIImage *selectedImage = [tempImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    vc.tabBarItem.selectedImage = selectedImage;
    
    • 直接在xcassets文件中配置


      Snip20151105_1.png

    当然我们可以个UIImage添加一个分类将功能封装起来


    Snip20170209_2.png Snip20170209_3.png Snip20170209_10.png

    在.h文件

    #import <UIKit/UIKit.h>
    
    @interface UIImage (Image)
    
    + (UIImage *)imageOriginalWithName:(NSString *)imageName;
    
    @end
    
    

    在.m文件

    Snip20170209_11.png
    #import "UIImage+Image.h"
    
    @implementation UIImage (Image)
    
    + (UIImage *)imageOriginalWithName:(NSString *)imageName
    {
        UIImage *image = [UIImage imageNamed:imageName];
        return [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:封装一个使用原始图片的分类

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