我注意到,使用iMessage,现在可以发送和显示GIF动画.这是否意味着Apple现在支持在应用程序中显示动画GIF,或者最简单的方法仍然是将图像分割成帧然后依次显示它们?从iOS 5.1开始,显示动画GIF的最简单方法是什么?
谢谢!
Joe*_*tti 139
如果您的目标是iOS7并且已经将图像拆分为可以使用的帧animatedImageNamed:duration:.
假设你正在为一个微调器做动画.将所有框架复制到项目中,并按如下方式命名:
spinner-1.pngspinner-2.pngspinner-3.png然后通过以下方式创建图像
[UIImage animatedImageNamed:@"spinner-" duration:1.0f];
Run Code Online (Sandbox Code Playgroud)
来自文档:
此方法通过将一系列数字附加到name参数中提供的基本文件名来加载一系列文件.例如,如果name参数以'image'作为其内容,则此方法将尝试从名称为'image0','image1'等文件加载到'image1024'的文件中加载图像.动画图像中包含的所有图像应共享相同的大小和比例.
Rap*_*aad 38
FLAnimatedImage是适用于iOS的高性能开源动画GIF引擎:
这是我为Flipboard中的所有GIF编写的一个经过良好测试的组件.
Eri*_*ric 37
我建议使用以下代码,它更轻量级,并且与ARC和非ARC项目兼容,它在UIImageView上添加了一个简单的类别:
https://github.com/mayoff/uiimage-from-animated-gif/
Tho*_*asW 12
另一种方法是使用a UIWebView来显示动画GIF.如果要从服务器获取GIF,那么这将负责获取.它也适用于本地GIF.
从iOS 11 Photos框架允许添加GIF动画播放.
示例应用可在此处下载
有关GIF动画播放的更多信息(从13:35开始):https://developer.apple.com/videos/play/wwdc2017/505/
小智 7
#import <QuickLook/QuickLook.h>
#import "ViewController.h"
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
QLPreviewController *preview = [[QLPreviewController alloc] init];
preview.dataSource = self;
[self addChildViewController:preview];
[self.view addSubview:preview.view];
}
#pragma mark - QLPreviewControllerDataSource
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController
{
return 1;
}
- (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx
{
NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myanimated.gif" ofType:nil]];
return fileURL;
}
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106031 次 |
| 最近记录: |