82 votes

Ajouter une image Gif animée dans le UIImageView d'Iphone

J'ai besoin de charger une image Gif animée depuis une URL dans UIImageview.

Si j'utilise le code normal, l'image n'est pas chargée.

S'il existe un autre moyen de charger des images Gif animées.

Aidez-moi, s'il vous plaît.

Merci.

0 votes

Je dois charger l'image de l'URL suivante dans UIImageview..... feedads.g.doubleclick.net/~at/K_fHnmr7a7T0pru2TjQC29TsPYY/1/di

0 votes

Passez par ce lien pour le swift : stackoverflow.com/questions/27919620/

139voto

Ishu Points 8284
UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
animatedImageView.animationImages = [NSArray arrayWithObjects:    
                               [UIImage imageNamed:@"image1.gif"],
                               [UIImage imageNamed:@"image2.gif"],
                               [UIImage imageNamed:@"image3.gif"],
                               [UIImage imageNamed:@"image4.gif"], nil];
animatedImageView.animationDuration = 1.0f;
animatedImageView.animationRepeatCount = 0;
[animatedImageView startAnimating];
[self.view addSubview: animatedImageView];

Vous pouvez charger plus d'une image gif.

Vous pouvez diviser votre gif en utilisant les méthodes suivantes ImageMagick commandement :

convert +adjoin loading.gif out%d.gif

1 votes

Je dois charger l'image de l'URL suivante dans UIImageview..... feedads.g.doubleclick.net/~at/K_fHnmr7a7T0pru2TjQC29TsPYY/1/di

0 votes

NSData *mydata = [[NSData alloc] initWithContentsOfURL :[NSURL URLWithString:myurl]] ; UIImage *myimage = [[UIImage alloc] initWithData:imageData] ; utilisez cet objet pour lire l'url puis ajoutez-le au tableau.

9 votes

L'iPhone OS ne peut pas et ne veut pas afficher correctement les images GIF animées. L'objet UIImage ne peut pas être utilisé à cette fin. Même s'il prend en charge les images GIF, toute animation sera ignorée et seule la première image sera affichée. Donc, si vous avez besoin d'afficher un GIF animé dans une application iPhone, vous êtes fichu. Il faut écrire du code... Jetez un coup d'oeil ici : pliep.nl/blog/2009/04/

53voto

ATfPT Points 511

Cette question a trouvé une réponse acceptée, mais je suis récemment tombé sur la UIImage+GIF animé Extension UIImage. Il fournit la catégorie suivante :

+[UIImage animatedImageWithAnimatedGIFURL:(NSURL *)url]

vous permettant simplement :

#import "UIImage+animatedGIF.h"
UIImage* mygif = [UIImage animatedImageWithAnimatedGIFURL:[NSURL URLWithString:@"http://en.wikipedia.org/wiki/File:Rotating_earth_(large).gif"]];

Ça marche comme par magie.

1 votes

Existe-t-il un moyen d'utiliser un fichier directement dans le projet au lieu de charger le gif depuis une URL ?

2 votes

UIImage+animatedGIF...l'une des meilleures catégories que j'ai jamais vues...merci @robmayoff

12voto

Mohit Points 159

Consultez ce lien

https://github.com/mayoff/uiimage-from-animated-gif/blob/master/uiimage-from-animated-gif/UIImage%2BanimatedGIF.h

et importez ces clases UIImage+animatedGIF.h,UIImage+animatedGIF.m

Utilisez ce code

 NSURL *urlZif = [[NSBundle mainBundle] URLForResource:@"dots64" withExtension:@"gif"];
 NSString *path=[[NSBundle mainBundle]pathForResource:@"bar180" ofType:@"gif"];
 NSURL *url=[[NSURL alloc] initFileURLWithPath:path];
 imageVw.image= [UIImage animatedImageWithAnimatedGIFURL:url];

J'espère que cela vous aidera

6voto

trevorgrayson Points 588

Cela ne répond pas à l'exigence d'utiliser un UIImageView, mais peut-être que cela simplifierait les choses pour vous. Avez-vous envisagé d'utiliser un UIWebView ?

NSString *gifUrl = @"http://gifs.com";
NSURL *url = [NSURL URLWithString: gifUrl];
[webView loadRequest: [NSURLRequest requestWithURL:url]

3voto

Eagle11 Points 410

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X