【问题标题】:Want to copy a gif image from my app to the in-app mail window. How do i do that?想要将 gif 图像从我的应用程序复制到应用程序内邮件窗口。我怎么做?
【发布时间】:2011-10-22 08:18:21
【问题描述】:

我在这里有些困惑......

如何为我的 iPhone 应用显示 gif? (我的意思是我找到了各种文章,但每个教程都没有完整的解决方案)

有很多解决方案让我感到困惑。

是否应该使用在线工具将 gif 拆分成不同的帧,然后使用动画在 UIImageView 中显示?

或者我应该在 UIWebview 中显示 gif 吗?

或者我应该使用这篇文章吗? http://blog.stijnspijker.nl/2009/07/animated-and-transparent-gifs-for-iphone-made-easy/

这篇文章很不错,但它削减了其余的帧,使图像尺寸更小。此外,我不知道它是如何工作的,所以我不知道帧被剪掉的原因。

请注意,在我显示 gif 之后,我想复制 gif,然后将其粘贴到我的应用内邮件窗口中。

请帮忙。谢谢!

【问题讨论】:

    标签: ios gif uipasteboard


    【解决方案1】:

    UIWebView 是 UIKit 中最大的内存消耗,应尽可能避免使用。最好将 gif 转换为一系列 png 文件并使用带有动画图像序列的 UIImageView 显示它。

    但要在邮件窗口中使用它,您还必须保留 gif。现在,您要如何插入它取决于您希望它是附件还是 html img。我建议第二个选项,并在网上某处托管 gif,然后执行:

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

    【讨论】:

    • 我要添加的 gif 是本地的。另外,我想让用户从我的应用程序中复制它,然后将其粘贴到邮件窗口中。所以,我将不得不通过粘贴按钮显示 gif。有可能吗?
    • 当然,你可以做到这一点,但老实说,我建议你重新考虑它,因为这听起来对 iOS 来说用户体验很差。如果您要为用户打开邮件窗口,您也应该填充它,而不是让他们从您的应用程序中粘贴内容。你到底想做什么?
    • 对不起。实际上,我不仅会将它粘贴到我的应用程序内邮件中,甚至还会粘贴到 iPhone 的邮件应用程序中或出现邮件窗口的任何地方。实际上我是在应用内邮件中测试它,所以我是这样写的。我的错。实际上我需要让用户从我的应用程序中复制图像,然后将图像粘贴到他/她的邮件窗口中,就像表情符号一样。你能帮我做吗????
    • 我已经添加了另一个答案,其中包含您需要执行的代码,享受吧。
    猜你喜欢
    • 2013-06-18
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    相关资源
    最近更新 更多