Images.xcassets
Images.xcassets
概述
功能
方便用户管理图像资源。
图片获取方式
- Images.xcassets中的图片资源只能通过imageNamed:方法加载,通过NSBundle的pathForResource:ofType:无法获得图片路径。
- 因此,Images.xcassets只适合存放系统常用的,占用内存小的图片资源。
AppIcon
例1
- finder中显示
- content.json
- iPhone6s plus上的显示
- iPhone6上的显示
此时修改图片集
拖入60pt 2x图片
总结
- 每一组下面的像素数目指的的为1x的时候的图片的大小(iPhone4之前为1x)
- 若拖入的图片不符合尺寸,编译将无法通过。应该先裁剪出对应大小的图片,再拖入界面中对应的位置
- 上图中从左到右,图片尺寸分别是:120120,140140。
- 可以看到,拖入的文件名在content.json中有显示
- 如果2x存在60pt或者40 pt对应的文件时,在spotlight和App icon都将使用该图片scale后的对应大小
###例2
AppIcon尺寸
- finder中查看
- iPhone6s上
- iPhone6p上的App图标
- 如果此时再来修改AppIcon图片集
- 若此时添加40pt 2x对应的图片,再运行spotlight中显示的还是之前的app icon
- 即使把xcode中60pt 2x的图片删除,在content.json中也看到对应的图片名字消失了。但是在iPhone6上看到的App icon还是下面这个样子
- 若此时添加40pt 2x对应的图片,再运行spotlight中显示的还是之前的app icon
- 拖入新的60pt 2x的图片
###总结 - 如果只是删除2x或3x的全组图片。那么显示仍采用之前的图片
- 拖入新的图片文件后,无需更改,手机即可显示新的图标
- 如果spotlight的图片不是一开始就设置好的话,那么后期拖入不会改变spotlght上显示的icon
用户图片资源
新建文件夹和图片集
通过New Folder建立新的文件
夹通过New Image Set建立新的图片集

拖入裁减好的图片


- 代码引用方式
- name使用的是image set的名字
- 双击iamge set即可修改图片集的名字
self.header.image = [UIImage imageNamed:@"header"];
self.suit.image = [UIImage imageNamed:@"closing"];
- 运行界面 
修改显示的图片
无需修改代码,只需将图片拖入对应的Image Set即可

总结
- 从本例中可看出使用xcassets管理图片资源的方便之处:可以更换图片而无序修改代码
- 图片很好地存放在xcasset中,项目中不会看到大量的混乱的图片文件
补充:
若需要导入其他项目Image.assset中的图片,只需分别在finder中打开两个项目的Image.assset,复制粘贴所需图片对应的文件夹即可
Images.xcassets的更多相关文章
- Images.xcassets不能获取图片路径
原文地址:http://www.jianshu.com/p/5358f587af38 Images.xcassets在app打包后,以Assets.car文件的形式出现在bundle中.其作用在于: ...
- Impossible to load an image in xcassets on bundle
Impossible to load an image in xcassets on bundle up vote5down votefavorite 3 I need to include imag ...
- 想在Images.xcassets 只能用 imageNamed 加载里边的素材 其他方法 你就别费老劲了
1.Images.xcassets中的素材 (1)只支持png格式的图片 (2) 图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载 (3) 在编译时,Im ...
- 实现iOS图片等资源文件的热更新化(一): 从Images.xcassets导出合适的图片
本文会基于一个已有的脚本工具自动导出所有的图片;最终给出的是一个从 Images.xcassets 到基于文件夹的精简 合适 的图片资源集的完整过程.难点在于从完整图片集到精简图片集,肯定是基于一个定 ...
- 如何获得images.xcassets 中图片的路径?
UIImage加载图片的方式以及Images.xcassets对于加载方法的影响 重点: Images.xcassets中的图片资源只能通过imageNamed:方法加载,通过NSBundle的pat ...
- Xcode中将图片放入Images.xcassets和直接拖入的区别
将图片放入Images.xcassets 在mainBundle里面Xcode会生成一个Assets.car文件,将我们放在Images.xcassets的图片打包在里面.(程序会变大(?)) 无论是 ...
- 有关ios中images.xcassets的导入图片等命名问题
最近遇到一个问题,就是在设置启动图片的时候,把启动图片命名设置为了xxx@2x.png, 然后应用死活没有显示启动图片,调试了很久,才发现是因为文件命名的原因. 1. 如果在图片的下方有2x或3x的标 ...
- Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译
根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcas ...
- 设置Images.xcassets后启动仍旧黑屏的问题
换了XCode6之后,发现以前写Icon-76.png这样很麻烦,就使用了Image.xcassets,公司所有测试机跑了一下,发现没什么问题.唯独有一台设置有问题,iphone5 ios6.0系统, ...
随机推荐
- 【UWP】批量修改图标尺寸
UWP开发中项目用到的图标资源非常多,通常每一种图标都有几种不同的尺寸,一般来说,我的项目所有Package.appxmanifest用到的图标就有40个,通常这些图标都是一样的,只是尺寸大小不一而已 ...
- 奔跑的歌颂 diskgenius 找回了20G数据
2.0同学家的电脑不慎重装系统,结果默认重新分区.其他倒没什么数据,就是几千张记录孩子成长的照片最为珍贵.为了找回数据,用U盘启动,使用Diskgenius全部找回,在此奔歌一下.
- Castle ActiveRecord相关错误
1.Could not compile the mapping document: (string)错误? 如果确保配置文件没有错误,那请检查用户身份,必须是Administrator才行,即使有管理 ...
- PHP中用GD绘制饼图
PHP中用GD绘制饼图,绘制的类见代码: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // ...
- MongoVUE(MongoDB图像管理工具)
介绍一款很不错的开源的MongoDB图形化管理工具:MongoVUE 下载地址:MongoVUE 1.6.9 破解版
- Monkey测试4——Monkey命令行可用的全部选项
Monkey命令行可用的全部选项 常规 --help 列出简单的用法. -v 命令行的每一个-v将增加反馈信息的级别. Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息. Le ...
- 七个结构模式之装饰者模式(Decorator Pattern)
定义: 使用组合的方法,动态给一个类增加一些额外的功能,避免因为使用子类继承而导致类继承结构复杂.并且可以保持和被装饰者同一个抽象接口,从而使客户端透明. 结构图: Component:抽象构件类,定 ...
- 探秘Java中的String、StringBuilder以及StringBuffer
探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...
- IO复用_epoll函数
由于poll()和select()的局限,2.6内核以上引用了event poll机制(就是说的epoll),虽然比前2个实现复杂得多,epoll解决了它们共有的基本性能问题,并增加了新的特性. po ...
- WPF如何实现一个漂亮的页签导航UI
最近看到一个比较漂亮的UI主界面,该UI是用左边的页签进行导航,比较有特色,就想着尝试用WPF来实现一下.经过一番尝试,基本上将UI设计图的效果用WPF程序进行了实现.下面介绍一下主要的思路: 1 U ...