2011-08-28 12 views
5

Los GIF animados "en el día" eran ubicuos en línea.Alternativa GIF animada para iOS

Eran fáciles de usar, simplemente haga clic en donde desee una imagen animada.

Me gustaría mostrar una imagen animada dentro de una aplicación de iOS (por ejemplo, un gráfico que muestra una carta que se abre desde un sobre).

Pero, no estoy seguro de cómo hacerlo.

Obviamente no quiero usar un GIF animado.

Un video de algún tipo parece que podría ser la solución preferida. Pero, ¿qué pasa con la transparencia? Además, ¿qué pasa con la pantalla de la retina?

Gracias.

+0

Verificar métodos nativos para [iOS7 +] [1] [1]: http://stackoverflow.com/a/21911723/2064576 –

Respuesta

12

Aquí hay un tutorial sobre la animación UIImage en el iPhone SDK:

http://www.icodeblog.com/2009/07/24/iphone-programming-tutorial-animating-a-game-sprite/

+0

+1 fo r la sugerencia interesante. Puedo ver fácilmente cómo podría usar este enfoque para animar una imagen usando PNG "marcos". Aunque, estoy un poco sorprendido de que este sea el enfoque preferido. – Steve

+1

@Steve: es el enfoque preferido; de hecho, es el único enfoque actual no manual sin video. Funciona bien para animaciones pequeñas con una pequeña cantidad de fotogramas, que es básicamente el caso de uso de GIF animado (no se adapta especialmente bien a vistas grandes con muchos marcos). –

+0

Bien entonces. Ordenado. Gracias por la info. Muy apreciado. – Steve

0

Para futuras referencias, la respuesta de Eric here es una mejor manera de hacerlo, ya que utiliza ImageIO.framework moderno y también está disponible como una categoría en UIImageView.

+0

Bueno, el uso de ImageIO es mejor que otros enfoques. Sin embargo, ese código consumirá toda la memoria cuando se ejecute en un GIF con más de 1 o 2 cuadros de datos de imagen. La solución real es decodificar antes de tiempo y almacenar en caché los resultados decodificados en el disco y no en la memoria. – MoDJ

0

Puede usar UIWebView para cargar la página html en Bundle. vaya a Archivo> Nuevo> Otros> Vacío> Introducir nombre del archivo con la extensión

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="utf-8"> 
    <title>QUALITY PLACEMENTS</title> 

</head> 
<body> 
<div style="word-wrap: break-word !important; width: 300px;"> 
    <img width="100%" src="Surprice-0.gif"/> 
    </div></body></html> 
    //IOS CODE 
    UIWebView* mywebview=[[UIWebView alloc]initWithFrame:CGRectMake(5, 50, 300, 300)]; 
      mywebview.scalesPageToFit = NO; 
      mywebview.scrollView.hidden = NO; 
      [mywebview setMultipleTouchEnabled:YES]; 
      NSURL* url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"greeting" ofType:@"html"]]; 
      [mywebview loadRequest:[NSURLRequest requestWithURL:url]]; 
Cuestiones relacionadas