YYImage使用

作者: YKDog | 来源:发表于2017-05-04 10:48 被阅读497次
  • gif图片加载普通方法(可以控制gif的进度控制内部都有接口)

    gitYYImage实例
    //加载image
    YYImage *image = [YYImage imageNamed:@"niconiconi@2x.gif"];
    
    //创建ImageView
    YYAnimatedImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
    
    //YYAdd中的拓展UIView方法
    imageView.size = CGSizeMake(image.size.width * 0.6, image.size.height * 0.6);
    imageView.top = 80;
    imageView.centerX = self.view.width / 2;
    [self.view addSubview:imageView];
    
  • 帧动画图片组加载

        NSMutableArray *paths = [NSMutableArray new];
        
      //把一帧一帧的图片加入到数组中
        [paths addObject:[basePath stringByAppendingPathComponent:@"d_aini1.png"]];
        [paths addObject:[basePath stringByAppendingPathComponent:@"d_aini2.png"]];
        [paths addObject:[basePath stringByAppendingPathComponent:@"d_aini3.png"]];
       
      //设置动画时间和循环次数
        UIImage *image = [[YYFrameImage alloc] initWithImagePaths:paths oneFrameDuration:0.1 loopCount:0];
    
      YYAnimatedImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
      [self.view addSubview:imageView];
    

  • 根据进度显示图片(已知图片的部分数据显示部分图片)

    • 第一种:一部分一部分逐行扫描方式
    • 第二种:模糊到清晰显示
        NSData *subData = //获得图片部分数据
        YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:[UIScreen mainScreen].scale];
        [decoder updateData:subData final:NO];
        YYImageFrame *frame = [decoder frameAtIndex:0 decodeForDisplay:YES];
        _imageView.image = frame.image; //使用UIImageView和YY都是可以的
    
  • 图片缓存(之前是sdWebImage)

    • 简单方法

          UIImageView *imageView = [UIImageView new];
          
          imageView.size = CGSizeMake(300, 200);
          imageView.top = 100;
          
          NSURL *url = [[NSURL alloc] initWithString:@"https://s-media-cache-ak0.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg"];
          [imageView setImageWithURL:url placeholder:nil];
          [self.view addSubview:imageView];
      
    • 详细控制

      //可以控制图片是否缓存,显示方式(模糊变清晰, 或者逐行扫描)
      [_webImageView setImageWithURL:url
                             placeholder:nil
                                 options:YYWebImageOptionProgressiveBlur | YYWebImageOptionShowNetworkActivity | YYWebImageOptionSetImageWithFadeAnimation
                                progress:^(NSInteger receivedSize, NSInteger expectedSize) {
                                    if (expectedSize > 0 && receivedSize > 0) {
                                        CGFloat progress = (CGFloat)receivedSize / expectedSize;
                                        progress = progress < 0 ? 0 : progress > 1 ? 1 : progress;
                                        if (_self.progressLayer.hidden) _self.progressLayer.hidden = NO;
                                        
                                        //绘制到哪里
                                        _self.progressLayer.strokeEnd = progress;
                                    }
                                } transform:nil
                              completion:^(UIImage *image, NSURL *url, YYWebImageFromType from, YYWebImageStage stage, NSError *error) {
                                  if (stage == YYWebImageStageFinished) {
                                      
                                      //结束后隐藏图片
                                      _self.progressLayer.hidden = YES;
                                      //动画停止并且隐藏
                                      [_self.indicator stopAnimating];
                                      _self.indicator.hidden = YES;
                                      //有图片了就隐藏label
                                      if (!image) _self.label.hidden = NO;
                                  }
                              }];
      

相关文章

  • YYImage源码解析<一> 简单使用

    YYImage学习笔记<一> 简单使用 前言 YYImage开源库包含5个类文件,分别为:YYImage、YYF...

  • YYImage使用

    gif图片加载普通方法(可以控制gif的进度控制内部都有接口)gitYYImage实例//加载imageYYIma...

  • YYImage

    YYImage 一、源码分析 1、来到YYImage.m的+ (nullable YYImage *)imageN...

  • 详解YYImage的使用

    YYImage: 功能强大的 iOS 图像框架。是YYKit组件之一. GitHub地址:https://gith...

  • YYImage 源码剖析:图片处理技巧

    YYImage 源码剖析:图片处理技巧 YYImage 源码剖析:图片处理技巧

  • iOS 网络图片优化

    概述: iOS 开发中,很多app的网络图片处理使用SDwebImage或YYKit的YYImage,使用方便、稳...

  • iOS14下YBImageBrowser显示图片黑屏

    问题 更新iOS14后发现原来使用的YBImageBrowser浏览图片出现黑屏,使用YYImage显示图片也出现...

  • YYImage之YYImage

    YYImage 是框架对图片的封装对象,它支持 GIF, APNG,WebP 格式的动画图片。 初始化图片 生成一...

  • YBImageBrowser ,YYImage iOS 14 兼

    YBImageBrowser 框架图片加载不出来,YYImage框架加载图片黑屏解决 pod 'YYImage',...

  • YYImage源码浅析

    简介 YYImage是与UIImage完全兼容的子类,YYImage扩展了UIImage使其支持WebP,GIF,...

网友评论

    本文标题: YYImage使用

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