2013-04-16 18 views
10

voglio copiare immagini gif al clipboard, in modo da l'utente può incollare che le immagini gif da applicazione ad mail, ecc ...Copia .gif immagini nella clipboard usando UIPasteboard tramite il codice [iOS]

ho provato : -

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://fc05.deviantart.net/fs37/f/2008/283/a/b/KaleidoCoils_animated__gif_by_1389AD.gif"]]; 
UIPasteboard *pasteBoard=[UIPasteboard generalPasteboard]; 
[pasteBoard setImage:[UIImage imageWithData:data]]; 

ma copia in formato .png e non .gif. Come posso copiare l'immagine GIF con la sua animazione negli appunti che può essere usata come opzione Incolla in un'altra applicazione?

L'applicazione https://itunes.apple.com/us/app/animated-3d-emoji+emoticons/id429348043?mt=8 lo fa già.

Per favore aiutatemi.

Grazie in anticipo

risposta

22

ho trovato la soluzione per lo stesso: -

Questo è il mio codice che mi ha aiutato: -

@import MobileCoreServices; 

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://fc05.deviantart.net/fs37/f/2008/283/a/b/KaleidoCoils_animated__gif_by_1389AD.gif"]]; 
UIPasteboard *pasteBoard=[UIPasteboard generalPasteboard]; 
[pasteBoard setData:data forPasteboardType:(__bridge NSString *)kUTTypeGIF]; 

@"com.compuserve.gif" viene da http://www.escape.gr/manuals/qdrop/UTI.html

Spero che questo aiuti qualcuno ... :)

+0

Grazie, questo è utile! – CodePlumber

+0

HI @ P.J questa soluzione funziona correttamente. Ma la conversione dell'URL in NSData richiede più tempo. Hai qualche idea su come potenziarlo ?? – Ramakrishna