UIImage加载图片的方式以及Images.xcassets对于加载方法的影响

图片缓存

根据是否将创建好的对象缓存入系统内存,有两类创建UIImage对象的方法可选:

  • 缓存:+ imageNamed:,只需传入文件名.扩展名(可选)即可。
  • 不缓存:+ imageWithContentsOfFile:,必须传入文件的全名(全路径+文件名)。

注意,对于有缓存功能的方法来说,其创建对象的步骤如下:

  1. 根据图片文件名在缓存池中查找特定的UIImage对象,入存在,将这个对象返回。
  2. 如果不存在,则从bundle中加载图片数据,创建对象并返回。
  3. 如果相应的图片数据不存在,返回nil。

Images.xcassets

Images.xcassets在app打包后,以Assets.car文件的形式出现在bundle中。其作用在于:

  • 自动识别@2x,@3x图片,对内容相同但分辨率不同的图片统一管理。
  • 可以对图片进行剪裁和拉伸处理。

UIImage从bundle中加载图片资源

注意

  • Images.xcassets中的图片资源只能通过imageNamed:方法加载,通过NSBundle的pathForResource:ofType:无法获得图片路径。因此,Images.xcassets只适合存放系统常用的,占用内存小的图片资源。
  • imageNamed:方法同样可以加载根目录中的图片资源。
  • 要想利用imageWithContentsOfFile:方法以不缓存的形式加载图片,必须将图片资源放置在根目录中。
  • 相对于jpg,iOS对png的支持较好,例如,如果从Images.xcassets以外的地方加载图片,必须在文件名后加扩展名,例如:
  • // pic.jpg处于根目录下
    [UIImage imageNamed:@"pic"]; // 错误,图片未能正确加载
    [UIImage imageNamed:@"pic.jpg"]; // 正确

如何获得images.xcassets 中图片的路径?相关推荐

  1. Android获取相册中图片的路径 4.4版本前后的变化

    两个问题: 1. 通过调用系统Action,从图库中选择图片,并展示到界面上 2. API19前后获取相册图片路径 详见(仅客户端代码),请移步:本人GITHUB Intent intent = ne ...

  2. create-react-dom脚手架中图片的路径问题

    由于我在使用此脚手架的时候在引用本地图片的时候存在各种问题,特发此博客!!        首先,我们要知道,使用脚手架搭建项目前期需要的图片没有的话,就得引用本地图片,后期项目上线的话,图片地址是在线 ...

  3. HTML中图片的路径

    一.图片的路径分相对路径和绝对路径. 1.相对路径分同一级路径和上一级路径.下一级路径. 相对路径分类 符号 说明 同一级路径 同一级路径直接写图片文件名就行  如<img src=" ...

  4. MacOS中图片的路径表示

    但凡需要UI的程序,都要涉及图片,习惯win的图片路径: D:\test1\\a.png Mac右键"显示简介"得到的路径,"‎⁨Macintosh HD⁩ ▸ ⁨用户⁩ ...

  5. django 调用数据库图片的路径并在html显示

    1.数据库有关图片的字段为图片的存储路径(mysql varchar类型). [注]设置的图片存储路径为/static/media/product_pic 2.在views.py文件内编写获取数据库全 ...

  6. Python中图片处理方法 (总结)

    Python中图片处理方法 -- 进阶 一级目录 1.Python中将源文件夹中图片复制到指定文件夹 2.Python中获取文件夹内指定后缀的所有文件的文件名 三级目录 一级目录 1.Python中将 ...

  7. c# 如何找到项目中图片的相对路径

    c# 如何找到项目中图片的相对路径 string path = System.Environment.CurrentDirectory;//非Web程序 if (System.Environment. ...

  8. tomcat中实现特定路径下的图片的url访问Tomcat配置图片保存路径,图片不保存在项目路径下...

    使用Tomcat作为服务器的时候,如果不配置图片保存路径,将图片保存在项目路径下,那么再次打war包发布项目可能会造成图片的丢失,每次重启前将图片先保存再copy到服务器明显不方便,这时可以配置图片保 ...

  9. vue的 v-for 循环中图片加载路径问题

    先看一下产品需求,如下图所示, 产品要求图片和它的名称一一对应,本来是非常简单的需求,后台直接返回图片路径和名称,前台直接读取就可以了,但是我们没有存储图片的服务器,再加上是一个实验性的需求,图片需要 ...

最新文章

  1. Go借助PProf的一次性能优化
  2. web测试的平台的开发
  3. Pycharm软件注册方法
  4. 可添加至收藏夹并在浏览器地址栏运行的JS代码
  5. 使用EF Core和AngularJS的Master Chef(第3部分)ASP.NET Core MVC
  6. Vue 与 Web Components
  7. live555学习笔记-RTSPClient分析
  8. android判断进程是否是意外退出
  9. 9.1 Zend_Json
  10. iOS自己定义返回button(不影响返回手势)
  11. Windows聚焦问题修复
  12. H7710s-DDP协议(抄录)
  13. 查看浏览器内核版本测试网站
  14. Robot Framework Selenium UI自动化测试 --- 进阶篇
  15. nodejs ---- 起步
  16. 技术科普:虚拟现实系统
  17. SEO文章图片添加水印,批量SEO文章图片去除水印
  18. 各类参数校验(身份证,手机号等)验证UTIL
  19. 服务过美国总统竞选的非传统投票UI【demo已放出】
  20. SpringCloud微服务-----skywalking链路追踪

热门文章

  1. pandas使用notnull函数将dataframe中所有缺失值映射为False,非缺失值映射为True(map missing vlaues into False others into True
  2. R语言ggplot2可视化强制所有的X数值都显示在X轴标签上:x-axis labels with all x-axis values
  3. R语言KNN模型数据分类实战
  4. R语言dplyr包使用case_when函数和mutate函数生成新的数据列实战:基于单列生成新的数据列、基于多列生成新的数据列
  5. R线性回归模型构建:残差值、回归值、预测域、置信区间
  6. python实现迭代的快速排序(Iterative Quick Sort)
  7. 生物信息学就是从统计和CS的community里借鉴合适的方法
  8. Linux010 Miniconda安装及使用
  9. Proovread安装与试用
  10. 从RNA-seq结果到差异表达