ios7 (xcode5)新特性-asset catalog与image slicing

Asset catalog是有一系列的图片,图标,启动画面等组成的。
当创建Xcode5工程时候会常见一个asset catalog,名字为Images.xcassets。
Asset catalog在磁盘中是一个目录。目录中除了包含图片外,还包含一个json文件,如下图所示:

App icons 和launch images
Images.xcassets 中包含AppIcon和LaunchImage。每一个项都可以设置deployment target以及尺寸大小。

自定义 imagesets
我们可以在catalog中添加自定义的ImageSet, 这样我们可以为同一个图片提供不同尺寸。
添加方法为:选中Images.xcassets,然后右键弹出菜单,选择New Image Set。

以下是我们添加的资源

Xcode catalog中的资源使用很简单,就是使用 UIImage:imageNamed::

UIImage *image = [UIImage imageNamed:@"Australia"];

Image Slicing
Asset Catalog的意义在于为工程中的图片提供了一个存储信息的地方,不仅可以描述资源对应的设备,资源的版本和更新信息等,更重要的在于可以为Image Slicing服务。所谓Image Slicing,相当于一个可视化的resizableImageWithCapInsets:resizingMode:,可以用于指定在图片缩放时用来填充的像素。在资源目录中选择要slicing的图片,点击图片界面右下方的Show Slicing按钮,在想要设定切片的图片上点击Start Slicing,将出现左中右(或者上中下)三条可以拖动的指示线,通过拖动它们来设定实际的缩放范围。

在左侧线(或者上方线)和中间线之间的像素将在缩放时被填充,在中间线和右侧线(或者下方线)之间的像素将被隐藏。比如上面的例子,实际运行中如果对这张图片进行拉伸的话,会是下面的样子:

Image Slicing可以帮助开发者用可视化的方式完成resizable image,之后通过拖拖线就可以完成sliced image,而不必再写代码,也不用再一次次尝试输入的insets合不合适了。slicing可缩放的图片大量用于UI中可以节省打包的占用空间,而在Xcode 5中引入和加强图片资源管理的目的,很大一部分是为了配合SpriteKit将游戏引擎加入到SDK中,并将Xcode逐渐打造为一个全面的IDE工具。

[原文: http://www.devdiv.com/iOS_iPhone-ios_xcode_asset_catalog_image_slicing-thread-206748-1-1.html]

xcode5(iOS7)新特性-asset catalog与image slicing相关推荐

  1. iOS7新特性的兼容性处理方法 之三

    转载有人性!转载自 这篇文章 不管适配iOS7,或者是iOS7新项目适配设计师也好,在状态栏.导航栏以及导航按钮往往会是比较难解决的.这篇文章就很好地解决了大部分情况. 近期,跟大多数开发者一样,我也 ...

  2. iOS7新特性 ViewController转场切换(二) 系统视图控制器容器的切换动画---push pop present dismis

    @上一章,介绍了主要的iOS7所增加的API,可以发现,它们不是一个个死的方法,苹果给我们开发者提供的是都是协议接口,所以我们能够很好的单独提出来写成一个个类,在里面实现我们各种自定义效果.     ...

  3. iOS7新特性的兼容性处理方法

    搬砖也得尊重出处!转载自 这篇文章 1.UINavigationBar 在iOS7以下所有的UINavigationBar都采用拟物化的界面,给人的感觉很有立体感,但是在iOS7中所有的界面使用的扁平 ...

  4. ios7新特性--4

    苹果发布iOS7之后,iOS7全部采用扁平化的界面,我们的app界面在iOS7上出现了很大的改变,这包括UINavigationBar,UIButton,UIActionSheet,UITabBar等 ...

  5. edgesForExtendedLayout ios7新特性

    为什么80%的码农都做不了架构师?>>>    edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向. 因为iOS7鼓励全 ...

  6. dgesForExtendedLayout ios7新特性

    edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向. 因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均 ...

  7. [DEVDIV翻译] iOS7新特性-AVSpeechSynthesizer详解

    前言 本文由DevDiv版主 @jas 原创翻译,转载请注明出处! 原文地址: http://www.shinobicontrols.com/b ... vspeechsynthesizer/ 介绍 ...

  8. WWDC 2013 Session笔记 - Xcode5和ObjC新特性

    这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,但是还烦请保留原文链接,谢谢您的理解合作.如果您觉得本站对您能有帮助, ...

  9. iOS7 SDK新特性

    春风又绿加州岸,物是人非又一年.WWDC 2013 keynote落下帷幕,新的iOS开发旅程也由此开启.在iOS7界面重大变革的背后,开发者们需要知道的又有哪些呢.同去年一样,我会先简单纵览地介绍i ...

最新文章

  1. 设计模式C#实现(三)——外观模式
  2. MySQL浮点数和定点数类型
  3. hihocoder#1041 : 国庆出游(DFS)
  4. vs及番茄助手快捷键使用介绍
  5. rabbitmq 不同的消费者消费同一个队列_消息队列王者--rabbitMQ深入理解--工作过程、消费模式、持久化等...
  6. 解决Sql中DIstinct与Order By共同使用的冲突问题
  7. python是什么 自学-为什么自学python总是坚持不下去,这篇文章给你解答!
  8. php_l3arning_notes_2
  9. centos7显示时间的时区修改
  10. python美女源代码_python程序员爬取百套美女写真集,同样是爬虫,他为何如此突出...
  11. 如何使用C#进行Visio二次开发-总结版
  12. 模糊控制理论理解与综述
  13. java删除占用的文件_「强力删除」自己用命令强制删除占用的文件或文件夹 - seo实验室...
  14. 'break' not in the 'loop' or 'switch' context 报错
  15. ubuntu 22.0 不能调节屏幕亮度
  16. 使用Java调用shell脚本时遇到的问题
  17. 无效的m3u8怎么办_关于大视频video播放的问题以及解决方案(m3u8的播放)
  18. 微软工程院 硕士_微软工程院招聘NLP算法研究员实习生|NLP算法工程师实习生_北京实习招聘...
  19. 股票中MACD如何计算,有什么意义
  20. 开放科研:数据科学场景下如何让研究更加开放?

热门文章

  1. iOS 开发之获取时间到年底可能会踩到的坑
  2. Windows 10封装中出现“无法验证你的Windows安装”错误解决方法
  3. 用友企业互联网服务产品闪亮2016中国互联网大会
  4. 数据库同步和数据库复制技术分析
  5. Oracle10g在linux下安装详解
  6. ASP调用web services
  7. python单双三引号区别_python中单引号,双引号,多引号区别_python中单双引号
  8. java activit怎么画图_Activiti 快速入门指南(用Java编写服务任务)
  9. mapreduce分组统计_Mongodb的分组统计MapReduce
  10. 磁盘的块大小(Block Size)和扇区大小(Sector Size)