如何在 CollectionViewController 中为 gif 设置动画.. (Objective-C)
Posted
技术标签:
【中文标题】如何在 CollectionViewController 中为 gif 设置动画.. (Objective-C)【英文标题】:How do I animate gif inside CollectionViewController.. (Objective-C) 【发布时间】:2016-10-14 14:40:36 【问题描述】:-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath
[_keyboard.collectionView registerClass:[NibCell class] forCellWithReuseIdentifier:@"Cell"];
static NSString *identifier = @"Cell";
NibCell *cell = [self.keyboard.collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UIImageView * rampageGifImage = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, cell.frame.size.width, cell.frame.size.height)];
[rampageGifImage setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.gif",[rampageGif objectAtIndex:indexPath.row]]]];
[cell.layer setCornerRadius:4];
[cell addSubview:rampageGifImage];
return cell;
【问题讨论】:
您不能在原生视图中使用 gif。为此使用 webView ,或者如果您真的想展示它,请使用一个打破图像并重新激活它的库。 github.com/Flipboard/FLAnimatedImage 【参考方案1】:您可以通过在项目中添加来自 Github 的 SDWebImage 来使用 Gif 图像。
这样试试,
#import "UIImage+GIF.h"
_imageViewAnimatedGif.image= [UIImage sd_animatedGIFNamed:@"YOURGIF_IMAGE"];
希望这会对你有所帮助。
【讨论】:
访问此链接以获得更好的理解:github.com/rs/SDWebImage/blob/master/SDWebImage/UIImage%2BGIF.m 无论如何,我已经使用了来自 github 的 FLAnimatedImage .. 但问题是,由于内存使用量过多,应用程序正在崩溃......你能帮我解决这个问题吗,谢谢【参考方案2】:Try it. It is small category that could loads animated GIF. Also, jpg, png, etc..
#import "ViewController.h"
#import "UIImage+Gif.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView1;
@property (weak, nonatomic) IBOutlet UIImageView *imageView2;
@end
@implementation ViewController
- (void)viewDidLoad
[super viewDidLoad];
// Usage 1 : gifWidthData
NSData *data = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"f1" withExtension:@"gif"]];
self.imageView1.image = [UIImage gifWithData:data];
// Usage 2 : gifWidthURL
NSURL *url = [[NSBundle mainBundle] URLForResource:@"f2" withExtension:@"gif"];
self.imageView2.image = [UIImage gifWithURL:url];
【讨论】:
以上是关于如何在 CollectionViewController 中为 gif 设置动画.. (Objective-C)的主要内容,如果未能解决你的问题,请参考以下文章
如何在异步任务中调用意图?或者如何在 onPostExecute 中开始新的活动?