你的位置:首页 > 操作系统

[操作系统]Images.xcassets


Images.xcassets

@(OC进阶)[图像资源管理][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后的对应大小###例2AppIcon尺寸Alt text
  • finder中查看Alt text
  • iPhone6s上Alt textAlt text
  • iPhone6p上的App图标Alt text
  • 如果此时再来修改AppIcon图片集
    • 若此时添加40pt 2x对应的图片,再运行spotlight中显示的还是之前的app iconAlt text
    • 即使把xcode中60pt 2x的图片删除,在content.json中也看到对应的图片名字消失了。但是在iPhone6上看到的App icon还是下面这个样子Alt textAlt textAlt text
  • 拖入新的60pt 2x的图片Alt textAlt 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管理图片资源的方便之处:可以更换图片而无序修改代码