使用YYAnimatedImageView加载GIF图,并且可以控制只播放一次

1.初始化YYAnimatedImageView
YYAnimatedImageView *imageView = [[YYAnimatedImageView alloc] init];
imageView.backgroundColor = [UIColor whiteColor];
imageView.contentMode = UIViewContentModeScaleAspectFit;
[self.view addSubview:imageView];

2.加载网络GIF图片
[imageView yy_setImageWithURL:[NSURL URLWithString:@"gif图url链接"] placeholder:[UIImage imageNamed:@"default"]];

3.通过RAC或者自己写观察者,观察currentAnimatedImageIndex播放到什么位置,如果播放到最后一张图,则停止播放
[RACObserve(imageView, currentAnimatedImageIndex) subscribeNext:^(id _Nullable x) {
if ([x integerValue] == imageView.animationImages.count) {
[_imageView stopAnimating];
}
}];

时间: 2024-11-06 11:29:01

使用YYAnimatedImageView加载GIF图,并且可以控制只播放一次的相关文章

Android 高清加载巨图方案 拒绝压缩图片

Android 高清加载巨图方案 拒绝压缩图片

SurfaceView加载长图

1:SurfaceView加载长图,移到.可以充当背景 效果截图 2:View (淡入淡出动画没实现:记录下) package com.guoxw.surfaceviewimage; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics

Unity使用脚本进行批量动态加载贴图

先描述一下我正在做的这个项目,是跑酷类音游. 那么跑酷类音游在绘制跑道上的时候,就要考虑不同的砖块显示问题.假设我有了一个节奏列表,那么我们怎么将不同的贴图贴到不同的砖块上去呢? 我花了好几个小时才搞清楚里面的门路,且听我慢慢道来. 首先我们建立一个地图,在上面新建一个Empty Object,将所有的Road砖块全部划分到这个分组里. 效果图如下: 我们得到了一些预制块,接下来我们要将其染上色. 首先的问题是,我们怎么遍历这些砖块呢?很简单,用Tag.我们将所有的砖块打上一个特别的tag,"r

简易仿ios菊花加载loading图

原文链接:https://mp.weixin.qq.com/s/wBbQgOfr59wntNK9ZJ5iRw 项目中经常会用到加载数据的loading显示图,除了设计根据app自身设计的动画loading,一般用的比较多的是仿照ios 的菊花加载loading 图,当然一些条件下还会涉及到加载成功/ 失败情况的显示,还有显示文字. 使用ProgressBar 来加载动画转圈,这里使用drawable文件 定义转圈动画,indeterminateDrawable属性进行加载. <?xml vers

H5异步加载多图

异步加载多图(可能没啥用,加载慢)(图片预加载,提前给浏览器缓存图片) 1. 用一个计数变量记录需要加载的图片个数 2. 用new Image()去加载,加载完给此对象的src赋值要加载的url路径(事先加载好图片) 3. 每次加载成功计数加一,加载完成全部调用回调进行下一步操作 4. 此方法可以得知图片什么时候加载完成,示例代码: var img = new Image(); img.onload = () => { // 可以直接使用相同url赋值,此时图片已经预加载完毕 } img.src

Android 高清加载巨图方案, 拒绝压缩图片

源地址:http://blog.csdn.net/lmj623565791/article/details/49300989 一.概述 距离上一篇博客有段时间没更新了,主要是最近有些私事导致的,那么就先来一篇简单一点的博客脉动回来. 对于加载图片,大家都不陌生,一般为了尽可能避免OOM都会按照如下做法: 对于图片显示:根据需要显示图片控件的大小对图片进行压缩显示. 如果图片数量非常多:则会使用LruCache等缓存机制,将所有图片占据的内容维持在一个范围内. 其实对于图片加载还有种情况,就是单个

Android 高清加载长图或大图方案

一.概述 对于加载图片,大家都不陌生,一般为了尽可能避免OOM都会按照如下做法: 对于图片显示:根据需要显示图片控件的大小对图片进行压缩显示. 如果图片数量非常多:则会使用LruCache等缓存机制,将所有图片占据的内容维持在一个范围内. 其实对于图片加载还有种情况,就是单个图片非常巨大,并且还不允许压缩.比如显示:世界地图.清明上河图.微博长图等. 那么对于这种需求,该如何做呢? 首先不压缩,按照原图尺寸加载,那么屏幕肯定是不够大的,并且考虑到内存的情况,不可能一次性整图加载到内存中,所以肯定

解决加载多图oom,内存和硬盘缓冲,过滤重复链接,同一视图没被缓冲前,某些view不显示的问题。

文章,参考自:http://blog.csdn.net/guolin_blog/article/details/34093441 不过本身自己的代码也也修改了很多. 在网络上找了很多例子,但是很多都是,不十分满意, 1.要不就是图片错乱, 2.第一次运行,如果滚动加载过快,要不就是无限多的线程, 3.要不就是在同一视图里面,如果没被缓冲,而且又有相同链接的话,某些视图即不显示出来. 网络下载,我用的是开源框格volley. 异步下载方式: 1.在页面滚动的时候,中断线程,停止下载, 2.页面停止

ARCServer加载专题图不显示——前端加载时强行修改地图服务请求的坐标系

问题描述:这是比较奇葩的一个问题,发布的服务坐标系是2385的,但是通过前端加载代码加载后,得到的请求是4549的,显示不了地图 解决思路:通过调试窗口,查看发送的请求,发现其对应的空间参考是4549.所以应该修改此请求,但是用户放大缩小平移是自动发送的请求,一般来说,地图的空间参考是根据第一次加载的地图来确定的,因而,想到可以修改地图map的空间参考. 解决方法: map.on("load", function () {                map.spatialRefer