iOS知识 ----加载显示gif图片

本文介绍在iOS上播放GIF图片的三种方法:利用UIImageView的动画数组实现动画效果;使用UIWebView加载GIF图片;借助第三方库SDWebImage简化GIF图片的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS针对gif图片播放的问题,由于iOS无法直接播放gif图片,所以可以通过以下方式进行播放


<一>  UIImageView用来显示图片, 使用UIImageView中的动画数组来实现图片的动画效果

//创建UIImageView,添加到界面
  UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];
  [self.view addSubview:imageView];
  //创建一个数组,数组中按顺序添加要播放的图片(图片为静态的图片)
  NSMutableArray *imgArray = [NSMutableArray array];
  for (int i=1; i<7; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"clock%02d.png",i]];
    [imgArray addObject:image];
  }
  //把存有UIImage的数组赋给动画图片数组
  imageView.animationImages = imgArray;
  //设置执行一次完整动画的时长
  imageView.animationDuration = 6*0.15;
  //动画重复次数 (0为重复播放)
  imageView.animationRepeatCount = 0;
  //开始播放动画
  [imageView startAnimating];
  //停止播放动画  - (void)stopAnimating;
//判断是否正在执行动画  - (BOOL)isAnimating;
<二>  用UIWebView来显示动态图片
//得到图片的路径
  NSString *path = [[NSBundle mainBundle] pathForResource:@"gifImageName" ofType:@"gif"];
  //将图片转为NSData
  NSData *gifData = [NSData dataWithContentsOfFile:path];
  //创建一个webView,添加到界面
  UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 150, 200, 200)];
  [self.view addSubview:webView];
  //自动调整尺寸
  webView.scalesPageToFit = YES;
  //禁止滚动
webView.scrollView.scrollEnabled = NO;
  //设置透明效果
  webView.backgroundColor = [UIColor clearColor];
webView.opaque = 0;
  //加载数据
  [webView loadData:gifData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

<三>  用SDWebImage 等第三方库来显示动态图片

 NSString* path = [[NSBundle mainBundle] pathForResource:@"new_loading" ofType:@"gif"];

    UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];

  [image sd_setImageWithURL:[NSURL fileURLWithPath:path]];  

  image.layer.cornerRadius = 4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值