ios加载GIF图片

作者: melody5 | 来源:发表于2017-07-10 16:23 被阅读139次

原生的UIImageView是不支持gif格式图片的,以下是我总结的三种方法,希望可以帮助到你。

一、用UIWebView加载本地gif文件

-(void)webViewLoadGif {
    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    
    NSString *path = [[NSBundle mainBundle] pathForResource:@"dancer" ofType:@"gif"];
    NSURL *url = [NSURL fileURLWithPath:path];
    NSData *data = [NSData dataWithContentsOfURL:url];
    NSURL *baseURL = [url URLByDeletingLastPathComponent];
    
    [webView loadData:data MIMEType:@"image/gif" textEncodingName:@"utf-8" baseURL:baseURL];
    [self.view addSubview:webView];
    
}
dancer.gif

webView的缺点就是不好控制图片的大小,当然你也可以把它做成html文件,直接用webview加载就可以了。

二、用SDWebImage加载本地的gif文件

SDWebImage4.0以后,加载gif图片,需要在SDWebImage的基础上再单独导入FLAnimatedImageView和FLAnimatedImage文件,然后把UIImageView和UIimage用上边这两个类替换掉就可以了。

//首先把本地gif文件转成NSData格式
-(NSData *)imageData {
    if (!_imageData) {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"magic" ofType:@"gif"];
        _imageData = [NSData dataWithContentsOfFile:path];
    }
    return _imageData;
}
-(void)SDLoadLocalGif {
    FLAnimatedImageView *gifView = [[FLAnimatedImageView alloc] initWithFrame:self.view.bounds];  
    FLAnimatedImage *image = [FLAnimatedImage animatedImageWithGIFData:self.imageData];
    gifView.animatedImage = image;
    gifView.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:gifView];
}

三、用SDWebImage加载网络的gif文件

这个就更加简单了,直接用sd_setImageWithURL方法就可以加载,前提也是要用FLAnimatedImageView来加载。

-(void)SDLoadNetwarkGif {
    FLAnimatedImageView *gifView = [[FLAnimatedImageView alloc] initWithFrame:self.view.bounds];
    [gifView sd_setImageWithURL:[NSURL URLWithString:@"http://img4.duitang.com/uploads/item/201211/24/20121124112047_KUFxK.gif"]];
    gifView.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:gifView];
}
magic.gif
需要注意的是SDWebImage的SDK本身并不包含FLAnimatedImageView和FLAnimatedImage文件,需要单独从GitHub下载。
附上demo:https://github.com/melody1237/loadGif

相关文章

  • Swift (四) gif图片播放

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

  • iOS SDWebImage 加载GIF图片没效果

    //加载本地GIF图片 //加载网络GIF图片 (SDWebImage 4.0 之前) //加载网络GIF图片(S...

  • Android Glide 使用

    加载 GIF 图片到 ImageView 中 通常 Android 的 ImageView 不能加载 Gif 图片...

  • Xcode开发播放gif图片

    在开发iOS程序的过程中,可能会遇到要加载gif图片,下面介绍gif图片的加载方式:先介绍一个第三方:gifVie...

  • iOS Gif图片加载

    Gif图片如越来越受欢迎,移动端对它的支持也是有些知识点的,主要是加载图片性能优化 Gif图片的生成 Gif图片是...

  • iOS加载gif图片

    1、通过拆分gif,加载一个图片数组(推荐一个Mac APP自动拆分gif:Gif Preview) 2、UIWe...

  • iOS加载Gif图片

    Gif图片是非常常见的图片格式,尤其是在聊天的过程中,Gif表情使用地很频繁。但是iOS竟然没有现成的支持加载和播...

  • iOS 加载gif图片

    一,UIWebview加载 核心代码如下: 注意:上面的xib也就是,登录自定义view要在webview请求完之...

  • ios加载GIF图片

    原生的UIImageView是不支持gif格式图片的,以下是我总结的三种方法,希望可以帮助到你。 一、用UIWeb...

  • iOS加载Gif图片

    1.系统UIImageView 多张图片组成动画 2.利用第三方库 IImageView-PlayGIF YFGI...

网友评论

    本文标题:ios加载GIF图片

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