2011-08-28 26 views
5

Le GIF animate di "Back in the day" erano onnipresenti online.Alternativa GIF animata per iOS

Erano semplici da utilizzare, basta inserirli ovunque si desideri un'immagine animata.

Mi piacerebbe visualizzare un'immagine animata all'interno di un'applicazione iOS (ad esempio, un grafico che illustra una lettera che viene aperta da una busta).

Ma, non sono sicuro di come procedere.

Ovviamente non voglio usare una GIF animata.

Un video di qualche tipo sembra essere la soluzione preferita. Ma, per quanto riguarda la trasparenza? Inoltre, che dire del display retina?

Grazie.

+0

Controlla i metodi nativi per [iOS7 +] [1] [1]: http://stackoverflow.com/a/21911723/2064576 –

risposta

12
+0

+1 fo r l'interessante suggerimento. Posso facilmente vedere come potrei usare questo approccio per animare un'immagine usando "frame" PNG. Anche se, sono un po 'sorpreso questo è l'approccio preferito. – Steve

+1

@Steve: è l'approccio preferito; in effetti, è l'unico approccio non video corrente non manuale. Funziona bene per animazioni di piccole dimensioni con un numero ridotto di fotogrammi, che è fondamentalmente il caso d'uso GIF animato (non si adatta in modo particolare alle viste grandi con molti fotogrammi). –

+0

Alrighty allora. Neat. Grazie per le informazioni. Molto apprezzato. – Steve

0

Per i riferimenti futuri, la risposta di Eric here è un modo migliore per farlo in quanto utilizza ImageIO.framework moderna ed è disponibile anche come categoria su UIImageView.

+0

Bene, l'uso di ImageIO è migliore di altri approcci. Ma quel codice continuerà a consumare tutta la memoria quando viene eseguito su una GIF con più di 1 o 2 fotogrammi di dati immagine. La vera soluzione è decodificare in anticipo e memorizzare nella cache i risultati decodificati su disco e non in memoria. – MoDJ

0

È possibile utilizzare UIWebView per caricare la pagina html con Bundle. andare su File> Nuovo> Altro> Vuoto> Inserisci il nome di file con estensione

<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]]; 
Problemi correlati