2013-04-16 11 views
10

Chcę skopiować .gif zdjęć do schowka, tak użytkownik może wklej to gif z aplikacji do maili, etc ....gif Kopiowanie obrazów do schowka za pomocą UIPasteboard poprzez kod [iOS]

Próbowałem : -

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

, ale kopiuje w formacie .png, a nie .gif. Jak skopiować obraz .gif z animacją do schowka, który może być użyty jako opcja wklejania w innej aplikacji?

Aplikacja https://itunes.apple.com/us/app/animated-3d-emoji+emoticons/id429348043?mt=8 już to robi.

Proszę, pomóż mi.

góry dzięki

Odpowiedz

22

znalazłem rozwiązanie na sam: -

To jest mój kod, który pomógł mi: -

@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" pochodzi z http://www.escape.gr/manuals/qdrop/UTI.html

nadzieję, że to pomoże komuś ... :)

+0

Dzięki, to jest pomocne! – CodePlumber

+0

HI @ P.J to rozwiązanie działa dobrze. Ale konwersja adresu URL do NSData zajmuje więcej czasu. Masz pomysł, jak to zwiększyć? – Ramakrishna

Powiązane problemy