objective-c - 如何在 UIImageView 中显示 base64 图像?

标签 objective-c iphone uiimageview uiimage

我得到了这个 Base64 gif 图片:

R0lGODlhDAAMALMBAP8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAACH5BAUKAAEALAAAAAAMAAwAQAQZMMhJK7iY4p3nlZ8XgmNlnibXdVqolmhcRQA7

现在我想在我的 iPhone 应用程序中显示这个 Base64 字符串。

我可以通过使用 WebView 来完成这项工作:

aUIWebView.scalesPageToFit = NO;
aUIWebView.opaque = NO;
aUIWebView.backgroundColor = [UIColor clearColor]; 
[aUIWebView loadHTMLString:
  @"<html><body style=""background-color: transparent""><img src=""data:image/png;base64,R0lGODlhDAAMALMBAP8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUKAAEALAAAAAAMAAwAQAQZMMhJK7iY4p3nlZ8XgmNlnibXdVqolmhcRQA7"" /></body></html>"
 baseURL:nil];

是否可以通过使用 UIImageView 来做同样的事情?

最佳答案

您不必对其进行编码。只需制作一个 NSUrl,它就知道“data:”-url。

NSURL *url = [NSURL URLWithString:base64String];    
NSData *imageData = [NSData dataWithContentsOfURL:url];
UIImage *ret = [UIImage imageWithData:imageData];

正如评论中提到的,您必须确保在数据前添加 data:image/png;base64, 否则您的 base64 数据将毫无用处。

关于objective-c - 如何在 UIImageView 中显示 base64 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366837/

相关文章:

ios - 'GADUNativeCustomTemplateAd' 错误没有可见的@interface

iphone - 为 REST Api 服务器编码移动设备版本控制

iphone - 设备上的 iOS Dropbox SDK 无法使用 NSURLErrorDomain 登录

iphone - 在 iPhone 中显示格式化字符串中小数点后两位数的浮点值

swift - 使 UIImageView 可点击并发送到网站

即使 contentMode = UIViewContentModeScaleAspectFit,UIImageView 图像也会被拉伸(stretch)

IOS:删除 imageView

objective-c - 如何在 iOS 中将数字显示为持续时间的一小时?

ios - 如何暂停uiview动画?

objective-c - 在 NSTableView 运行时计算组行