先介绍下Asset Catalog,Asset Catalog是Xcode5引入的一个新的图片管理方式,有几个好处:

1.自动管理图片,如@1x,@2x图片,使用的时候使用Asset 名字即可

2.管理应用的Icon和Default图片,这个挺方便的,可以完全抛开以前规范命名如Icon.png,Icon@2x.png,Xcode会自动识别尺寸然后匹配进去

3.个人觉得方便模块图片管理,可以针对模块建立Component1.xcassets,在这个Category中去建立新的Image set

4.可以可视化管理图片拉伸,从而抛弃到处使用resizeImage...来获取拉伸图片

示例代码如下:

  1. // 使用原比例图片
  2. UIImage *image = [UIImage imageNamed:@"darc_component_golden_egg"];
  3. UIImageView *imageview = [[UIImageView alloc] initWithImage:image];
  4. imageview.frame = CGRectMake(50, 50, image.size.width, image.size.height);
  5. [self.view addSubview:imageview];
  6. [imageview release];
  7. // 使用拉伸图片
  8. image = [UIImage imageNamed:@"darc_component_cell_bottom"];
  9. imageview = [[UIImageView alloc] initWithImage:image];
  10. imageview.frame = CGRectMake(50, 150, 200,200);
  11. [self.view addSubview:imageview];
  12. [imageview release];

得到的效果图:

创建一个新的Asset Catalog:

方法:使用 File - new - File - Resource - Asset Catalog,会需要输入名字和选择Target

建立完毕后单击,文档会将整个操作区域从左到右分为三部分,SetList, Set Viewer, Set attributes inspector

在SetList区域左下角会有新增(+)和删除(-)按钮,实际在区域内右击也会有对应选项,

New Image Set:图片夹,这个常用

New App Icon:用于图标管理

New Lauch Image: 启动图

New Folder:新文件夹,支持在文件夹嵌套,具体自己研究研究

使用New Image Set建立一个新的图片夹,如下图中的darc_component_temp,在属性栏中可以选择设备的类型,根据设备的不同,会有多个占位图片

添加图片的方式可以使用导入,如下图


还可以更加简洁的直接将图片拖入到占位符位置,Xcode会自动根据图片尺寸放入对应的占位符中.

配置拉伸图片:

拉伸图片支持水平,垂直,水平和垂直同时拉伸三种,操作步骤如下,单击Image Set,选择 Show Slice进入下一步

如下图所示,切换水平或者垂直可以选择对应的图片,在属性编辑栏中切换.

步骤如上图所示,具体属性解释如下所示:总共三条线,左边为左句柄,内句柄,右句柄(如果是垂直则为上,内,下切片句柄),

左边到左句柄,右句柄到右边部分为不变部分

左句柄到内句柄为填充样式,将来就会用这部分去填充其他扩充部分

内句柄到片句柄部分为可扩充部分,随着拉伸或者缩小,这部分将会被填充样式填充

使用一个实际例子如下:我将重复区域变小,将拉伸区域变大,于是就得到了右图,那就很直观的知道结果了!

参考文档:

https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/_index.html

Assets.xcassets的使用的更多相关文章

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

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

  2. Assets.xcassets 应用

    1.应用 Assets.xcassets :用来存放图像资源文件 给项目添加 AppIcon 时图标要用 png 格式的,不要用其他格式.当是其它图片格式时 ,不要仅仅修改其后缀名,若仅仅修改后缀名, ...

  3. [Xcode 实际操作]一、博主领进门-(3)使用资源文件夹(Assets.xcassets)导入并管理图片素材

    目录:[Swift]Xcode实际操作 本文将演示如何使用资源文件夹(Assets.xcassets)导入并管理图片素材. [Assets.xcassets]资源文件夹可以方便的进行图片的管理, 在读 ...

  4. Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x

    Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x 不知道assets发生了 ...

  5. iOS程序两中启动图方式和一些坑LaunchImage 和 Assets.xcassets(Images.xcassets)

    一.通过LaunchScreen.storyboard 作启动图 1>在LaunchScreen.storyboard中拖拽一个imageView放上启动图片 注意:记得勾选右边的 User a ...

  6. Assets.xcassets的详细使用方法

    开始之前,首先回顾一下iOS7初体验(1)——第一个应用程序HelloWorld中的一张图,如下所示: 本文分享一下Images.xcassets的体验~_~ 1. 打开此前使用过的HelloWorl ...

  7. Assets.xcassets误删后的恢复

    一般要是remove Reference,undo就ok了.如果undo没法搞得话,就得手动搞. 1.首先去废纸篓把被删除的目录恢复到原处,也就是项目目录. 2.右键项目主目录名称,选择"A ...

  8. iOS 解压Assets.car文件

    查看Assets.xcassets打包ipa之后Assets.car的图片资源 不经常使用 记录一份:原文地址http://www.jianshu.com/p/a5dd75102467 cartool ...

  9. Mac 如何导出ipa文件中Assets.car包中的切图

    在之前 获取 AppStore 中 应用 的 IPA 包文件(Mac OS 13+)中获取到应用的 IPA 包,可以取出应用的部分图片(如 Logo),如果项目工程中把图片添加到 Assets.xca ...

随机推荐

  1. C++入门经典-例3.5-判断某一年是否是闰年之嵌套判断

    1:代码如下: // 3.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  2. IDEA 无法显示项目目录结构解决

    不要去网上看什么乱七八糟的骚教程,一点用都没有.直接按下列步骤操作: 1. 关闭IDEA, 2. 然后删除项目文件夹下的.idea文件夹3. 重新用IDEA工具打开项目

  3. Python--安装第三方库的方法

    一:安装方法(以numpy为例,安装其他包把numpy改为包名即可) 1.有设置python包中pip.exe环境变量的情况下 同时按住win+R输入cmd打开cmd,直接输入pip install ...

  4. LeetCode 31. 下一个排列(Next Permutation)

    题目描述 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许使用额外常 ...

  5. Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一

    下次会为大家深入解析这个小工具.  最先看到这个工具是在EF产品组最新的博客文章上,http://blogs.msdn.com/b/adonet/archive/2011/05/18/ef-power ...

  6. 比较&关系运算符

    <1> 比较(即关系)运算符 python中的比较运算符如下表 运算符 描述 示例 == 检查两个操作数的值是否相等,如果是则条件变为真. 如a=3,b=3则(a == b) 为 true ...

  7. [VBA]合并工作簿优化版

    Sub 合并工作簿数据()Dim arrDim i As Integer, j As Integer, x As IntegerDim f As String, m As String, n As S ...

  8. 【转】Eureka集群

    Eureka作为SpringCloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置.单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况,具有 ...

  9. sorted&filter&map

    python里列表的sort和内置的sorted函数,都可以进行排序,列表的sort方法是在原有的列表上进行排序,sorted是会返回一个新的对象 persons = [ {'name': '小明', ...

  10. Web08_MySQL&JDBC回顾

    数据库操作:DATABASE 查看正在使用的数据库: SELECT DATABASE(); 表操作:TABLE 修改表修改列明 ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) ...