Assets.xcassets的使用
先介绍下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...来获取拉伸图片
示例代码如下:
- // 使用原比例图片
- UIImage *image = [UIImage imageNamed:@"darc_component_golden_egg"];
- UIImageView *imageview = [[UIImageView alloc] initWithImage:image];
- imageview.frame = CGRectMake(50, 50, image.size.width, image.size.height);
- [self.view addSubview:imageview];
- [imageview release];
- // 使用拉伸图片
- image = [UIImage imageNamed:@"darc_component_cell_bottom"];
- imageview = [[UIImageView alloc] initWithImage:image];
- imageview.frame = CGRectMake(50, 150, 200,200);
- [self.view addSubview:imageview];
- [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的使用的更多相关文章
- Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译
根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcas ...
- Assets.xcassets 应用
1.应用 Assets.xcassets :用来存放图像资源文件 给项目添加 AppIcon 时图标要用 png 格式的,不要用其他格式.当是其它图片格式时 ,不要仅仅修改其后缀名,若仅仅修改后缀名, ...
- [Xcode 实际操作]一、博主领进门-(3)使用资源文件夹(Assets.xcassets)导入并管理图片素材
目录:[Swift]Xcode实际操作 本文将演示如何使用资源文件夹(Assets.xcassets)导入并管理图片素材. [Assets.xcassets]资源文件夹可以方便的进行图片的管理, 在读 ...
- 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发生了 ...
- iOS程序两中启动图方式和一些坑LaunchImage 和 Assets.xcassets(Images.xcassets)
一.通过LaunchScreen.storyboard 作启动图 1>在LaunchScreen.storyboard中拖拽一个imageView放上启动图片 注意:记得勾选右边的 User a ...
- Assets.xcassets的详细使用方法
开始之前,首先回顾一下iOS7初体验(1)——第一个应用程序HelloWorld中的一张图,如下所示: 本文分享一下Images.xcassets的体验~_~ 1. 打开此前使用过的HelloWorl ...
- Assets.xcassets误删后的恢复
一般要是remove Reference,undo就ok了.如果undo没法搞得话,就得手动搞. 1.首先去废纸篓把被删除的目录恢复到原处,也就是项目目录. 2.右键项目主目录名称,选择"A ...
- iOS 解压Assets.car文件
查看Assets.xcassets打包ipa之后Assets.car的图片资源 不经常使用 记录一份:原文地址http://www.jianshu.com/p/a5dd75102467 cartool ...
- Mac 如何导出ipa文件中Assets.car包中的切图
在之前 获取 AppStore 中 应用 的 IPA 包文件(Mac OS 13+)中获取到应用的 IPA 包,可以取出应用的部分图片(如 Logo),如果项目工程中把图片添加到 Assets.xca ...
随机推荐
- 由MySQL登录不了引发的一些问题
经手的项目按照老板的意思,想搞一个类似于个人学习版的版本给客户试用.计划通过网络将安装包发布出去,让客户自行下载安装使用,碰到个问题:数据库的安装.因为后台使用了MS SQLServer 2008/2 ...
- 请描述一下 BroadcastReceiver?
BroadCastReceiver 是 Android 四大组件之一,主要用于接收系统或者 app 发送的广播事件. 广播分两种:有序广播和无序广播. 内部通信实现机制:通过 Android 系统的 ...
- 说说 Activity、Intent、Service 是什么关系
他们都是 Android 开发中使用频率最高的类.其中 Activity 和 Service 都是 Android 四大组件之一.他俩都是Context 类的子类 ContextWrapper 的子类 ...
- 如何修改jar包的某一个class
做了两年的开发,碰见了两次开源包的代码有问题,这次碰见的是wsdl4j.jar 具体问题以后再说,先说说如何修改其中的一个class 使用WinRAR打开(不是解压) 找到你要修改的class文件 右 ...
- 浅谈Excel开发:二 Excel 菜单系统(转)
编辑器加载中...http://www.cnblogs.com/yangecnu/p/Excel-Menu-System-Introduction.html 在开始Excel开发之前,需要把架子搭起来 ...
- zabbix日志报错解决
[root@bogon ldap]# cat /tmp/zabbix_server.log 9135:20181204:085433.351 using configuration file: /us ...
- Prometheus存储模型分析
Prometheus是时下最为流行的开源监控解决方案,我们可以很轻松地以Prometheus为核心快速构建一套包含监控指标的抓取,存储,查询以及告警的完整监控系统.单个的Prometheus实例就能实 ...
- 将JSON字符串反序列化为指定的.NET对象类型
目录导航: 前言: 方法一.在项目中定义对应的对象参数模型,用于映射反序列化出来的参数(复杂JSON字符串数据推荐使用): 方法二.直接将JSON字符串格式数据反序列化转化为字典数据(简单JSON字符 ...
- 在IOS系统中微信浏览器input输入框输入值无效
[contenteditable="true"], input, textarea { -webkit-user-select: auto!important; -khtml-us ...
- 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
源码地址: https://github.com/bailicangdu/vue2-elm 技术栈 vue2 + vuex + vue-router + webpack + ES6/7 + fetch ...