博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Assets xcassets中New Data Set使用说明
阅读量:7250 次
发布时间:2019-06-29

本文共 1610 字,大约阅读时间需要 5 分钟。

Data Set

一直很推荐使用Assets.xcassets来管理图片,就一个字“方便”。用的很顺手啊。但是Gif的图片一直都是放在Resouces文件夹中的,今天突然想着为何不把Gif的图片也放入Asset.xcassets中进行管理。可怎么使用呢。

列表中唯一看到能使用的,应该只有New Data Set了。但是这个Data Set Type怎么使用呢。查找了官方文档和网络上的文章,都没有一个具体的说明。

添加Gif

右键选择New Data Set后,出现一个Universal的图片框,将Gif文件拖入。

Gif的图片就放入到了Assets.xcassets中。Contents.json显示为:

{  "info" : {    "version" : 1,    "author" : "xcode"  },  "data" : [    {      "idiom" : "universal",      "filename" : "timg.gif",      "universal-type-identifier" : "com.compuserve.gif"    }  ]}复制代码

加载Gif

因为不是png图片,所以不能使用[UIImage imageNamed:@"bear"];来获取,执行这个返回nil。而需要通过根据路径来加载Assets.xcassets中图片。

NSString *gifPath = [[NSBundle mainBundle] pathForResource:@"bear" ofType:@"gif"];    NSData *gif = [NSData dataWithContentsOfFile:gifPath];    FLAnimatedImage *image = [FLAnimatedImage animatedImageWithGIFData:gif];    [self.gifImageView setAnimatedImage:image];复制代码

运行代码,执行成功。

FLAnimatedImage

FLAnimatedImage支持Gif的显示。如果直接使用UIImageView来显示的动画,也是可以的,不过需要加载很多图片。

使用UIImageView的
@property (nullable, nonatomic, copy) NSArray<UIImage *> *animationImages;来实现动效。

NSInteger pages = 45;    NSMutableArray *imagesMArr = [[NSMutableArray alloc] initWithCapacity:5];    for (int i = 1; i <= pages; i++ ) {        NSString *imageName = [NSString stringWithFormat:@"loading_%d", i];        UIImage *image = [UIImage imageNamed:imageName];        [imagesMArr addObject:image];    }    [self.gifImageView setAnimationImages:imagesMArr];    [self.gifImageView startAnimating];复制代码

效果如下:

但是如你所见,为了实现这个效果,保存了整整45张图片。
最后会导致APP的包变大,之后更换图片也比较麻烦。 还是果断使用FLAnimatedImage吧。虽然这个包已经很久没更新了。

// END 开发任务一直不需要用到新的技术,感觉用之前的经验就可以混日子了。!_!

转载地址:http://mxhbm.baihongyu.com/

你可能感兴趣的文章
IOS开发—IOS 8 中设置applicationIconBadgeNumber和消息推送
查看>>
HBase–调优篇
查看>>
word的多级列表&自动编号
查看>>
SSH之密钥登陆
查看>>
vmware5.1通过模版部署RHEL6.3之后网卡eth1 修改eth0 的问题
查看>>
批量上传公钥到Linux服务器
查看>>
关于日立存储更换故障硬盘
查看>>
Subversion+Apache 安装配置文档
查看>>
从程序员到技术领导者
查看>>
squid的配置及应用
查看>>
Linux的基本配置
查看>>
java语言基础
查看>>
通过weblogic自带脚本正常关闭受管理服务器方法
查看>>
关于最近很火的安卓stagefright漏洞
查看>>
iOS开发那些事-iOS网络编程同步GET方法请求编程
查看>>
pycharm,vim,items2常用快捷键
查看>>
Flask blueprint蓝图按功能模块化架构实例
查看>>
数据支撑环境的改造
查看>>
ifconfig 命令用来查看和配置网络设备
查看>>
用 netstat 查看 TCP 网络状态详解
查看>>