我得到了这个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,它就知道"数据:"-url.

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

正如 comments 中所提到的,您必须确保在数据前加上data:image/png;base64,,否则base64数据将毫无用处.

Objective-c相关问答推荐

如何在没有 Interface Builder 的情况下创建 Cocoa 接口?

Objective C中的简单字符串连接

将 NSArray 保存到 NSUserDefaults 并在 NSMutableArray 中获取它

在 10.9 上以编程方式启用对辅助设备的访问

在 iOS 中实现闪屏

检测 NSString 的语言

在 Interface Builder 中设计 UITableView 的section header

无法编译连接:错误是什么意思?

UITextField 中的文本在编辑后向上移动(编辑时居中)

判断一个 NSDate 是否大于另一个

Objective-C 中是否有一些文字字典或数组语法?

UILabel 根据要显示的文本自动调整大小

遍历 NSString 中所有字符的最有效方法

iOS 11 large-title导航栏不折叠

100% 不透明度 UILabel 超过 50% 不透明度背景(UIView?)

每个 ivar 都必须是一个属性吗?

可以在 NSLocalizedString 中使用变量和/或参数吗?

UIImageView 并不总是为模板图像着色

将 NSDate 舍入到最接近的 5 分钟

iOS中的活动生命周期相当于什么?