iOS7 Asset Catalog

iOS7 Day-by-Day :: Day2 :: Asset Catalog


原文:http://www.shinobicontrols.com/blog/posts/2013/09/23/ios7-day-by-day-day-2-asset-catalog


介绍


在以前我们总是要花时间来摆弄Xcode工程中组织的图片资源—从来不确定我们是否拿到了所有图片的视网膜屏的版本,或者是否拿到了我们需要的所有不同版本的图标。在以前这充其量就是互不相交的处理过程,但是对于Xcode5和iOS7苹果介绍了资源目录这个新概念,它同时组织了物理图片文件还有与它们有关的上下文信息。


资源目录


一个资源目录包含了所有图片、应用图标、启动画面和XCode创建的。当在Xcode5中创建了一个新工程时一个资源目录也将被创建,叫做Images,将用来准备放应用的图标和启动画面。XCode提供了工具将以前的应用转移到使用资源目录上。


在iOS7中目录会被编译成优化过的二进制文件形式来减少编译完成后的应用的大小。


资源目录是一个由Xcode管理的磁盘上的文件目录。资源目录以一种特别的方式被组织,并且包含了一个json文件来存储与目录相关的元数据。 



应用图标与启动图片


Xcode自动创建的资源目录叫作Images.xcassets并且包含全部的应用图标和启动图片。每一个图片都有适合你工程的部署对象的位置,并且包含了需要的大小:



仅仅拖拽图片从Finder中到Finder中的资源目录管理器中,就会将图片放到了资源目录里。如果你提供了一个大小不正确的图片,那么Xcode就会产生警告。

 

普通的图片集


和标准的集合一样,你可以使用资源目录来管理你自己的图片。图片被包含在一个图片集中,具有一个同一图片的视网膜屏和非视网膜屏版本的参考 


在Xcode中创建一个图片集完成了,并且你可以在文件夹中组织这个图片集以便容易导航。使用存放在资源目录中的图片和使用UIImage:imageNamed:一样简单:


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


图片切片


资源目录的另一个主要功能是做图片切片。以这种方式重新调整了大小创建的图片自从iOS2就已经适用了,但是Xcode新增的这个功能这样做变得非常的简单。


使用切片改变图片的大小对于创建像按钮这样的可视化元素是一种很常见的方式—图片的中间应该被拉伸或平铺来使用新的大小,边缘应该在一个方向拉伸并且四角应该保留原有的大小。


对于资源目录中的图片集切片也是适用的—点击“Show Slicing”按钮(在界面的右下角或者在菜单栏的Editor中)就可以了。你可以选择水平、垂直或者两个方向的缩放方向。你的图片将会按照指引的那样被覆盖,固定四角并且调整中间部分的大小。



使用这些切片图片非常的容易—只要像之前一样创建一个UIImage,当你改变由于展示他的UIImageView的大小时,图片将作为位每个切片重新缩放。


UIImage *btnImage = [UIImage imageNamed:@"ButtonSlice"];


// Let's make 2

UIImageView *iv = [[UIImageView alloc] initWithImage:btnImage];

iv.bounds = CGRectMake(0,0,150, CGRectGetHeight(iv.bounds));

iv.center = CGPointMake(CGRectGetWidth(self.view.bounds) / 2,300);

[self.view addSubview:iv];


// And a stretched version

iv = [[UIImageView alloc] initWithImage:btnImage];

iv.bounds = CGRectMake(0,0,300, CGRectGetHeight(iv.bounds));

iv.center = CGPointMake(CGRectGetWidth(self.view.bounds) / 2,350);

[self.view addSubview:iv]; 



总结


对于iOS开发工具包来说资源目录并不是一个非常突出的新功能,但是它们确实减少了一些开发中烦琐的事情。对于XCode5创建的项目资源目录是可用的,并且将会使资源管理是一件不是很艰苦的事情。


不要忘记了你可以在github上得到这个项目的代码 github.com/ShinobiControls/iOS7-day-by-day



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值