美文网首页
ios gif 暂停与播放

ios gif 暂停与播放

作者: 逍遥庄主 | 来源:发表于2021-10-18 16:01 被阅读0次

其实网上GitHub有很多第三方的,但是用起来比较麻烦,这里介绍最简单的一种方式,,(点击按钮开始播放动态图)

1,集成SDWebImage之后,引入头文件#import "UIImage+GIF.h"

2.初始化按钮,(loadingImageView是定义的全局的UIImageView,自己顶一下)

self.loadingImageView= [[UIImageView alloc]init];
UIButton* btn=[[UIButton alloc]initWithFrame:CGRectMake(0, 100, 50, 20)];
btn.backgroundColor=[UIColor redColor];
[self.view addSubview:btn];
[btn addTarget:self action:@selector(initLoadingImageView) forControlEvents:UIControlEventTouchUpInside];

3.点击按钮就可以实现了,非常简单

  • (void)initLoadingImageView
    {

    NSString *name = @"图片的名字.gif";
    NSString *filePath = [[NSBundle bundleWithPath:[[NSBundle mainBundle] bundlePath]] pathForResource:name ofType:nil];
    NSData *imageData = [NSData dataWithContentsOfFile:filePath];

    if (!self.loadingImageView) {
    self.loadingImageView = [[UIImageView alloc]init];
    }
    self.loadingImageView.backgroundColor = [UIColor clearColor];

    self.loadingImageView.image = [UIImage sd_animatedGIFWithData:imageData];

//这里可以修改要实现播放的gif的frame
self.loadingImageView.frame = CGRectMake(0, 100, 200, 100);

[self.view addSubview:self.loadingImageView];

[self.view bringSubviewToFront:self.loadingImageView];

}

如果想实现gif图片的暂停和继续播放的功能加入以下两个方法就可以了

1.首先再viewDidLoad加入这个(player是CALayer类型的,定义为全局的)

// 设置imageView的layer
player = self.loadingImageView.layer;

2.实现这两个方法,需要用哪个就点击哪个直接把player传过去就可以了

//暂停gif的方法

-(void)pauseLayer:(CALayer*)layer
{
CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
layer.speed = 0.0;
layer.timeOffset = pausedTime;
}

//继续gif的方法
-(void)resumeLayer:(CALayer*)layer
{
CFTimeInterval pausedTime = [layer timeOffset];
layer.speed = 1.0;
layer.timeOffset = 0.0;
layer.beginTime = 0.0;
CFTimeInterval timeSincePause = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;
layer.beginTime = timeSincePause;
}
————————————————
版权声明:本文为CSDN博主「Erice_e」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Erice_e/article/details/78675633

相关文章

  • ios gif 暂停与播放

    其实网上GitHub有很多第三方的,但是用起来比较麻烦,这里介绍最简单的一种方式,,(点击按钮开始播放动态图) 1...

  • Swift (四) gif图片播放

    @[TOC](IOS gif图片播放 swift) 1. GIF在iOS平台上的几种加载方式 使用Dispatch...

  • iOS-播放gif动画文件(OC方法)

    iOS-.gif动画文件的播放 前言 播放gif动画的方法有多种: 将gif图片分解成多张图片使用UIImageV...

  • iOS 播放GIF

    iOS默认是不支持播放GIF图片的,但是系统也没有禁止播放它,该有的API还是有的,下面就 来一发吧! 一定要导入...

  • iOS - Gif播放

    ** 1.系统UIImageView 多张图片组成动画(帧动画)** ** 2.利用第三方库** 3. 为MBPr...

  • iOS的gif的图片处理

    iOS上没有直接播放gif控件(gif图片是几张png格式经过播放之后显示的不同的帧来进行实现的)sdwebima...

  • 关于iOS中Gif播放

    最近看了一下Gif播放,因为iOS是没有可以直接播放Gif资源的控件的,所以,这就需要我们想办法了。。。 准备 通...

  • iOS 播放GIF图

    本文记录两种在iOS上播放GIF的方法 第一种:用UIWebView播放GIF图 如果想让webView的内容自适...

  • iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置

    iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置ios9音频应用播放控制在“iOS 9音频应用播放音频之...

  • iOS支持GIF图片

    iOS 播放 gif最棒的库,简单高效。Animated GIFs implemented the right w...

网友评论

      本文标题:ios gif 暂停与播放

      本文链接:https://www.haomeiwen.com/subject/kksnoltx.html