iOS7—Day by day—Day2:Asset Catalog
来源:互联网 发布:剪切音乐的软件 编辑:程序博客网 时间:2024/05/21 10:58
这篇文章是天天品尝iOS7甜点系列的一部分,你可以查看完整的系列目录:天天品尝iOS7甜点
介绍
过去,我们在Xcode中会花费很多的时间来管理我们的图像资产,我们不确定需要retina版本的图片,或者不同icon版本的图标。在以前这些图像都没有很多的关联管理,但是在Xcode5和iOS7中,Apple已经介绍了一个新的概念Asset Catalogs(资产分类)
,它可以管理物理图像文件和这些文件的上下文信息。
完成的代码已经在github可供下载使用:github.com/ShinobiControls/iOS7-day-by-day
Asset Catalog – 资产分类
一个资产分类的目录由一些图像的集合,app图标和app启动页构成。当我们在Xcode5中新建一个工程的时候,Xcode会自动为我们创建一个名为Images的资产分类文件夹,并且它会事先准备好一些app图标和app启动页,同时Xcode提供旧应用程序迁移到使用资产目录。
在iOS7中的目录中会编译成一个二进制的文件,来减少发布应用程序的大小。
Asset catalogs是存在在硬盘上面的一个目录,由Xcode进行管理。它以特定的方式进行文件的排列,包含一个json文件存储目录相关联的元数据:
App icons and launch images
Asset catalog(资产分类)默认被Xcode5中自动创建,名为Images.xcassets
,包含了AppIcon
和LaunchImage
的入口。提供了构建应用的所有需要的图标的尺寸:
可以通过简单的拖拽图片填充到对应的分类中,如果你图片的尺寸不符合,Xcode就会产生警告信息:
Custom imagesets – 自定义图像集
和标准的集合一样,你可以使用asset catalogs来管理你自己的图片,图片都是包含在ImageSet
中的,并且可以使用管理对应的retina和非retina图像.
使用Xcode创建一个图片的集合(image set), 你就可以在导航拦里面很轻松的管理图像,同样使用这些图像也是十分简单的,使用UIImage:imageNamed:
:
Slicing images – 切片图像
Asset catalogs的另外一个主要的特性就是能够让图像进行切片工作,自从iOS2开始程序就能够使用切片的图像了,但是Xcode中的这个新特性会变得非常的简单。
变换图像使用切片是一个基本的技术来创建一个虚拟的元素,例如按钮,需要拉伸这个按钮图片的大小达到一个新的大小,并且要设置边缘不被拉伸,只拉伸中间的部分。
在Asset catalog中就可以使用Xcode提供的功能进行切片操作了,开启切片功能,只需要点击Show Slicing
按钮,你可以选择水平、竖直或者两者都拉伸的方式,如果你选择之后,图像将会重新加载并且上面会出现拉伸辅助线,你可以通过拖拽辅助线,来实现自己需要拉伸的效果。
使用这些切片图像编程非常的简单,和之前一样创建一个UIImage
对象,然后当你调整UIImageView
的大小,内部的image就会自动根据切片的图像来变换大小。
总结
Asset catalog 并不是一个突破性的iOS开发者工具包,但是它确实能够为iOS开发者节约很多的时间,能够从繁杂的工作中解脱出来,此功能包含在Xcode5中。
本文翻译自:iOS7 Day-by-Day :: Day 2 :: Asset Catalog
- iOS7—Day by day—Day2:Asset Catalog
- iOS7—Day by day
- iOS7—Day by day—Day0:UIKit Dynamics
- iOS7—Day by day—Day1:NSURLSession
- iOS7—Day by day—Day3:Background Fetch
- iOS7—Day by day—Day4:AVSpeechSynthesizer
- iOS7—Day by day—Day6:Tint Color
- iOS7—Day by day—Day9:Device Identification
- iOS7—Day by day—Day10:Custom UIViewController Transitions
- iOS7—Day by day—Day15:CoreImage Filters
- iOS7—Day by day—Day17:iBeacons
- iOS7—Day by day—Day23:Multipeer Connectivity
- iOS7—Day by day—Day22:Downloadable Fonts
- iOS7—Day by day—Day5:UIDynamics With Collection Views
- iOS7—Day by day—Day7:Taking Snapshots of UIViews
- iOS7—Day by day—Day8:Reading List With SafariServices
- iOS7—Day by day—Day11:UIView Key-frame Animations
- iOS7—Day by day—Day12:Dynamic Type and Font Descriptors
- 三大WEB服务器软件比较(Apache,Lighttpd,Nginx)对比分析
- de Casteljau算法的matlab实现
- 下载android4.0源代码和kernel及编译
- EXPDP与IMPDP使用总结
- 最新县及县以上行政区划代码(截止2013年1月18日) 全国省市县数据库 之县级数据
- iOS7—Day by day—Day2:Asset Catalog
- error LNK2001: unresolved external symbol __imp__WSAStartup@8
- 2014年4月操作系统份额:Windows XP仍然在26%以上,Linux微涨
- 蜗牛商店的免费手机流量?
- JQuery 实现网页的快捷键操作
- Valid Palindrome----leetcode
- 虚拟机centos,允许远程访问特定端口
- 有关opencv的配置问题
- 浅谈LDO