Images.xcassets

Images.xcassets

概述

功能

方便用户管理图像资源。

图片获取方式

  • Images.xcassets中的图片资源只能通过imageNamed:方法加载,通过NSBundle的pathForResource:ofType:无法获得图片路径。
  • 因此,Images.xcassets只适合存放系统常用的,占用内存小的图片资源。

AppIcon

例1

Alt text
- finder中显示
Alt text
Alt text
- content.json
Alt text
- iPhone6s plus上的显示
Alt text
Alt text
- iPhone6上的显示
Alt text
Alt text

此时修改图片集

拖入60pt 2x图片
Alt text
Alt text
Alt text

总结

  • 每一组下面的像素数目指的的为1x的时候的图片的大小(iPhone4之前为1x)
  • 若拖入的图片不符合尺寸,编译将无法通过。应该先裁剪出对应大小的图片,再拖入界面中对应的位置
  • 上图中从左到右,图片尺寸分别是:120120,140140。
  • 可以看到,拖入的文件名在content.json中有显示
  • 如果2x存在60pt或者40 pt对应的文件时,在spotlight和App icon都将使用该图片scale后的对应大小 ###例2 AppIcon尺寸 Alt text
  • finder中查看 Alt text
  • iPhone6s上 Alt text Alt text
  • iPhone6p上的App图标 Alt text
  • 如果此时再来修改AppIcon图片集
    • 若此时添加40pt 2x对应的图片,再运行spotlight中显示的还是之前的app icon Alt text
    • 即使把xcode中60pt 2x的图片删除,在content.json中也看到对应的图片名字消失了。但是在iPhone6上看到的App icon还是下面这个样子 Alt text Alt text Alt text
  • 拖入新的60pt 2x的图片 Alt text Alt text ###总结
  • 如果只是删除2x或3x的全组图片。那么显示仍采用之前的图片
  • 拖入新的图片文件后,无需更改,手机即可显示新的图标
  • 如果spotlight的图片不是一开始就设置好的话,那么后期拖入不会改变spotlght上显示的icon

用户图片资源

新建文件夹和图片集

  • 通过New Folder建立新的文件2016-06-20 上午12.39.58

  • 通过New Image Set建立新的图片集
    2016-06-20 上午12.42.26

拖入裁减好的图片

2016-06-20 上午12.51.39

2016-06-20 上午12.51.46

  • 代码引用方式
    • name使用的是image set的名字
    • 双击iamge set即可修改图片集的名字
 self.header.image = [UIImage imageNamed:@"header"];
    self.suit.image = [UIImage imageNamed:@"closing"];
  • 运行界面 2016-06-20 上午12.52.48

修改显示的图片

无需修改代码,只需将图片拖入对应的Image Set即可2016-06-20 上午12.53.26

2016-06-20 上午12.53.47

总结

  • 从本例中可看出使用xcassets管理图片资源的方便之处:可以更换图片而无序修改代码
  • 图片很好地存放在xcasset中,项目中不会看到大量的混乱的图片文件

补充:

若需要导入其他项目Image.assset中的图片,只需分别在finder中打开两个项目的Image.assset,复制粘贴所需图片对应的文件夹即可

原文地址:https://www.cnblogs.com/rainySue/p/Imagesxcassets.html