Хотите скопировать изображение в формате gif из моего приложения в окно электронной почты в приложении. Как мне это сделать?

У меня тут какая-то путаница...

как мне отобразить gif для моего приложения для iPhone? (Я имею в виду, что есть различные статьи, которые я нашел, но в каждом учебнике просто не было полного решения)

Есть много решений, между которыми я запутался.

Должен ли я разделить gif на разные кадры с помощью онлайн-инструмента, а затем отобразить его в UIImageView с помощью анимации?

Или я должен отображать gif в UIWebview?

Или я должен использовать эту статью? http://blog.stijnspijker.nl/2009/07/animated-and-transparent-gifs-for-iphone-made-easy/

Эта статья довольно хороша, но она обрезает остальные кадры, уменьшая размер изображения. Более того, я не могу знать, как это работает, поэтому я не знаю, почему кадры обрезаются.

Обратите внимание, что после того, как я отобразил gif, я хочу скопировать его, а затем вставить в окно электронной почты в приложении.

Нужна помощь плз. Спасибо!


person mayuur    schedule 08.08.2011    source источник


Ответы (1)


UIWebView потребляет больше всего памяти в UIKit, и его следует по возможности избегать. Лучшее, что вы можете сделать, это преобразовать gif в серию файлов png и отобразить его с помощью UIImageView с последовательностью анимированных изображений.

Но чтобы использовать его в почтовом окне, вам также придется сохранить гифку. Теперь то, как вы хотите его вставить, зависит от того, хотите ли вы, чтобы это было вложением или HTML-изображением. Я бы предложил второй вариант и разместить гифку где-нибудь в Интернете, а затем выполнить:

[mailController setMessageBody:@"<img src=\"http://path.to/image.gif\" />" isHTML:YES];

И если вы хотите добавить его как вложение:

NSData *imageData = [[NSData alloc] initWithContentsOfFile:pathToGifFile];
[mailController addAttachmentData:imageData mimeType:@"image/gif" fileName:@"pic.gif"];
[imageData release];
person Filip Radelic    schedule 08.08.2011
comment
GIF, который я хочу добавить, является местным. Кроме того, я хочу, чтобы пользователь скопировал его из моего приложения, а затем вставил в окно почты. Итак, мне придется показать гифку с помощью кнопки вставки. Является ли это возможным? - person mayuur; 08.08.2011
comment
Конечно, вы можете это сделать, но я бы искренне посоветовал вам пересмотреть это, потому что это звучит как плохой пользовательский опыт для iOS. Если вы собираетесь открыть почтовое окно для пользователя, вы также должны заполнить его, вместо того, чтобы заставлять их вставлять данные из вашего приложения. Что именно ты пытаешься сделать? - person Filip Radelic; 08.08.2011
comment
ой извините за это. На самом деле я буду вставлять его не только в свою почту в приложении, но даже в приложение «Почта» на iphone или в любое другое место, где появляется почтовое окно. на самом деле я тестировал его в почте в приложении, поэтому я написал так. Моя ошибка. на самом деле мне нужно, чтобы пользователь копировал изображения из моего приложения, а затем вставлял изображения в свое почтовое окно, как смайлики. вы можете помочь мне сделать это ???? - person mayuur; 08.08.2011
comment
Я добавил еще один ответ с кодом, который вам нужен, наслаждайтесь. - person Filip Radelic; 08.08.2011