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还是下面这个样子


  • 拖入新的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的更多相关文章

  1. Images.xcassets不能获取图片路径

    原文地址:http://www.jianshu.com/p/5358f587af38 Images.xcassets在app打包后,以Assets.car文件的形式出现在bundle中.其作用在于: ...

  2. 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 ...

  3. 想在Images.xcassets 只能用 imageNamed 加载里边的素材 其他方法 你就别费老劲了

    1.Images.xcassets中的素材 (1)只支持png格式的图片 (2) 图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载 (3)  在编译时,Im ...

  4. 实现iOS图片等资源文件的热更新化(一): 从Images.xcassets导出合适的图片

    本文会基于一个已有的脚本工具自动导出所有的图片;最终给出的是一个从 Images.xcassets 到基于文件夹的精简 合适 的图片资源集的完整过程.难点在于从完整图片集到精简图片集,肯定是基于一个定 ...

  5. 如何获得images.xcassets 中图片的路径?

    UIImage加载图片的方式以及Images.xcassets对于加载方法的影响 重点: Images.xcassets中的图片资源只能通过imageNamed:方法加载,通过NSBundle的pat ...

  6. Xcode中将图片放入Images.xcassets和直接拖入的区别

    将图片放入Images.xcassets 在mainBundle里面Xcode会生成一个Assets.car文件,将我们放在Images.xcassets的图片打包在里面.(程序会变大(?)) 无论是 ...

  7. 有关ios中images.xcassets的导入图片等命名问题

    最近遇到一个问题,就是在设置启动图片的时候,把启动图片命名设置为了xxx@2x.png, 然后应用死活没有显示启动图片,调试了很久,才发现是因为文件命名的原因. 1. 如果在图片的下方有2x或3x的标 ...

  8. Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译

    根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcas ...

  9. 设置Images.xcassets后启动仍旧黑屏的问题

    换了XCode6之后,发现以前写Icon-76.png这样很麻烦,就使用了Image.xcassets,公司所有测试机跑了一下,发现没什么问题.唯独有一台设置有问题,iphone5 ios6.0系统, ...

随机推荐

  1. GCC、ARM-LINUX-GCC、ARM-ELF-GCC浅析

    一.GCC简介: The GNU Compiler Collection,通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持C语言编译,还支持C++, A ...

  2. Linux下的C编程实战

    Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来, Linu ...

  3. webapi+entityframework分享

    1. webapi允许跨域的增删改查要在web.config中加入以下文字 <system.webServer> <validation validateIntegratedMode ...

  4. 框架Spring笔记系列 一 基础

    主题:Spring 1.什么样的问题,使得Spring框架应用而生?使用Spring解决了那些问题? 2.

  5. Scalaz(8)- typeclass:Monoid and Foldable

    Monoid是种最简单的typeclass类型.我们先看看scalaz的Monoid typeclass定义:scalaz/Monoid.scala trait Monoid[F] extends S ...

  6. Java集合源码分析(五)HashSet<E>

    HashSet简介 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. HashSet源 ...

  7. 【LoadRunner】OSGI性能测试实例

    其实我们就两点 Ø  确定测试登录最大并发用户数:Ø  事务平均响应时间 (两个查询) 得到这个任务 如何展开测试工作呢? 一.WindowsResources 设置(其实不监控 设不设都行 我感觉) ...

  8. java集合-集合大家族

    在编写 Java 程序中,我们最常用的除了八种基本数据类型,String 对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!Java 中集合大家族的成员实在是太丰富了,有常用的 Array ...

  9. 分享5种风格的 jQuery 分页效果【附代码】

    jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个 ...

  10. 学习使用 SVG 创建材料设计涟漪(Ripple)效果

    Codrops 上面发布了一个深入的教程,就如何建立谷歌材料设计的径向操作规范中列出的涟漪效果,并基于 SVG 和 GreenSock 来实现.随着谷歌的材料设计的出现,带来了一个视觉语言,创建跨平台 ...