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

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

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


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

比如

  • 设置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文件中配置

c6895c0abd8fe50ffe7444e4d9d20f86.png

Snip20151105_1.png

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

c6895c0abd8fe50ffe7444e4d9d20f86.png

Snip20170209_2.png

00844b657db0b76c8462993cc87983fd.png

Snip20170209_3.png

1159a73aa40983e8a03a5a6e6c9053e2.png

Snip20170209_10.png

在.h文件

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

在.m文件

8daaaaf131840cf93d4fbf826cd69875.png

Snip20170209_11.png

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


相关文章
|
存储 测试技术 API
PHP 7.4 新特性及性能优化探究
随着互联网和移动应用的不断发展,PHP作为一种流行的服务器端脚本语言,始终保持着其重要性。本文将介绍PHP 7.4的新特性,包括类型属性、预加载、扩展改进等,并深入探讨这些新特性对PHP性能的影响,以及如何优化PHP 7.4代码以提升性能。
|
4月前
|
SQL 人工智能 安全
手把手教你调出“懂你”的AI:大模型微调实战与资源管理
本文深入浅出讲解大模型微调核心知识:用生活化比喻解析学习率、训练轮数、批量大小、截断长度和LoRA秩五大关键参数;提供适配不同显存的实操配置表;分享Liger Kernel、DeepSpeed等省显存技巧;并强调定量、定性与效率三维评估。零基础也能快速上手定制专属AI。
491 11
手把手教你调出“懂你”的AI:大模型微调实战与资源管理
|
7月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
1157 156
Maven项目管理与构建自动化完全指南
|
4月前
|
人工智能 搜索推荐 程序员
智能体来了:真正从0-1,让AI为你所用
内容摘要:AI 时代正在经历从“对话框驱动”向“智能体(Agent)驱动”的范式转移。本文深度拆解 AI Agent 的底层逻辑,不仅教你如何构建属于自己的智能助理,更揭示了如何通过 Prompt Engineering 与插件化思维,将碎片化技术转化为自动化生产力,实现真正的零门槛进阶。
450 15
|
3月前
|
SQL 人工智能 自然语言处理
指标中台选型技术实测:如何通过 NoETL 语义层驾驭复杂 SQL 生成
支持“存量挂载、增量原生、存量替旧”的渐进式策略,平衡价值与风险,平滑实现架构升级。
|
5月前
|
缓存 监控 调度
阿里云 CDN 计费体系全解析:基础服务、增值服务与选型指南
在内容分发网络(CDN)领域,阿里云凭借全球节点覆盖与灵活的计费模式,成为个人开发者与企业用户的重要选择。其 CDN 服务计费分为基础服务与增值服务两部分,基础服务提供按流量计费、按带宽峰值计费、月结 95 带宽峰值计费三种核心模式,增值服务则根据功能使用情况单独计费。本文基于 今年最新官方文档与实测数据,从计费规则、价格详情、场景适配、成本优化等维度展开解析,为用户提供客观选型参考。
|
9月前
|
前端开发 JavaScript
Promise.allSettled()方法和Promise.all()方法有什么区别?
Promise.allSettled()方法和Promise.all()方法有什么区别?
576 123
|
9月前
|
人工智能 文字识别 安全
【WAIC 2025】AI安全的攻防前线:合合信息AI鉴伪检测技术
本文记录了作者在WAIC 2025上对合合信息AI图像鉴伪技术的深度探访,涵盖人脸视频篡改检测、AIGC图像识别、文档篡改检测三大核心技术,探讨AI时代内容安全的挑战与产业落地实践,展现图像伪造检测从技术到生态的系统化演进。
658 0
|
监控 算法 网络协议
Java 实现局域网电脑屏幕监控算法揭秘
在数字化办公环境中,局域网电脑屏幕监控至关重要。本文介绍用Java实现这一功能的算法,涵盖图像采集、数据传输和监控端显示三个关键环节。通过Java的AWT/Swing库和Robot类抓取屏幕图像,使用Socket进行TCP/IP通信传输图像数据,并利用ImageIO类在监控端展示图像。整个过程确保高效、实时和准确,为提升数字化管理提供了技术基础。
372 15
|
5月前
|
人工智能 JSON 文字识别
从读图到懂图,AI+金融理解力新升级
OCR要落伍了?多模态大模型凭借端到端的图像识别与语义理解能力,正在颠覆传统 OCR 的应用逻辑,预示着图像识别与理解正迈向新一代的技术范式。
394 0