【问题标题】:Loading GIFs in iOS在iOS中加载GIF
【发布时间】:2014-06-27 16:46:15
【问题描述】:

我正在为我的 iOS 应用程序使用自定义创建的加载微调器,但边缘在彩色背景上看起来很粗糙,正如 GIF 所预期的那样。

其他应用如何处理这种情况?他们是否使用 GIF 以外的任何东西,也许是 APNG 或其他东西?因为对于 GIF,边缘总是会很粗糙,如果使用哑光,它只会在一种颜色上看起来不错,而在其他颜色上则不好看。

有什么办法吗?

【问题讨论】:

标签: ios animation gif


【解决方案1】:

UIImageView 类为开发人员提供了实现动画的最简单方法。您需要做的就是创建一个带有一系列动画图像的UIImageView 对象。

示例

// Load images
NSArray *imageNames = @[@"win_1.png", @"win_2.png", @"win_3.png"];

NSMutableArray *images = [[NSMutableArray alloc] init];
for (int i = 0; i < imageNames.count; i++) {
    [images addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]];
}

// Normal Animation
UIImageView *animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(60, 95, 86, 193)];
animationImageView.animationImages = images;
animationImageView.animationDuration = 0.5;

[self.view addSubview:animationImageView];
[animationImageView startAnimating];

【讨论】:

  • 这很“简单”,但实际上效果并不好。如果您加载了大量图像,那么由于内存使用量失控,您可能会导致应用程序甚至整个设备崩溃。这个 animationImages 方法不应该在真正的应用程序中使用。
  • 我无法将 NSMutableArray 的图像添加到 UIImageView。相反,我添加为 UIImage 数组。
猜你喜欢
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
  • 2011-10-31
  • 2013-08-04
相关资源
最近更新 更多