【问题标题】:How do i insert UIImage on UIWebView如何在 UIWebView 上插入 UIImage
【发布时间】:2011-05-26 11:42:02
【问题描述】:

我正在尝试在 UIImageView 中显示 Animated-GIF 图像。因为这种方式只显示第一帧,所以我想尝试不同的方法。

UIWebView.

如何让内存中的 Animated-GIF (NSData) 显示在具有所有帧的 UIWebView 上..?

【问题讨论】:

    标签: iphone objective-c uiwebview uiimage nsdata


    【解决方案1】:

    感谢托马斯的回复,我不知道它是否有效,因为我现在自己设法做到了..

    现在已经解码 GIF 一个多星期了,但仍然没有成功,所以我从 UIImageView 转到 UIWebView,下面的代码使它工作..

    [self.webView loadData:gifData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
    

    【讨论】:

      【解决方案2】:

      我没试过,但类似这样:

      NSString *html = [NSString stringWithFormat:@"<img src='data:image/gif;base64,%@' />", [myData base64Value];
      [myWebView loadHTMLString:html baseURL:nil]
      

      您需要一个 NSData 类别来实现转换为 base64,这应该不难找到(我已将 http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html 添加为书签)

      编辑:另一种方法是解码 gif,所以你有一个 NSArray 的帧:http://pliep.nl/blog/2009/04/iphone_developer_decoding_an_animated_gif_image_in_objc http://blog.stijnspijker.nl/2009/07/animated-and-transparent-gifs-for-iphone-made-easy/

      【讨论】:

      • 谢谢,它有效!我把它翻译成 swift let imageData = NSData(data: UIImagePNGRepresentation(ImagesCatalog.Shared.BlueErrorIcon)!).base64EncodedStringWithOptions(.Encoding64CharacterLineLength) let imageHTML = "&lt;img src='data:image/png;base64,\(imageData)' /&gt;"
      猜你喜欢
      • 2011-07-16
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      相关资源
      最近更新 更多