ImageView 加载本地图像,但不从 URL

Posted

技术标签:

【中文标题】ImageView 加载本地图像,但不从 URL【英文标题】:ImageView loads local image but not from URL 【发布时间】:2013-09-03 01:14:55 【问题描述】:

我无法从 URL 加载图像。我有 CollectionViewCell 子类,其图像视图设置如下:

@property (strong, nonatomic) IBOutlet UIImageView *albumCover;

我无法让它从 URL 加载图像。这是我使用的代码:

NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: song.albumURL]];
cell.albumCover = [[UIImageView alloc] initWithImage:[UIImage imageWithData: imageData]];

同时,这可行:

cell.albumCover.image = [UIImage imageNamed:@"lock.png"];

我知道 URL 连接正在获取正确的图像,因为我正在使用 Fiddler 对其进行监控。那为什么图片不显示呢?

【问题讨论】:

查看这个链接***.com/questions/18506744/…它可能对你有帮助 【参考方案1】:

我再次分配UIImageView 对象,而不是仅仅用图像初始化它。正确的代码是:

NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: song.albumURL]];
[cell.albumCover initWithImage:[UIImage imageWithData: imageData]];

【讨论】:

【参考方案2】:

我用SDWebImageView:

具有 UIImageView 类别的缓存支持的异步图像下载器 http://hackemist.com/SDWebImage/doc

【讨论】:

SDImageview 还做了很多很棒的事情,比如构建它的动画 gif!【参考方案3】:

您应该使用fileURLWithPath: 而不是URLWithString:

URLWithString: 用于 WWW URL。

还有一个例子:

NSString *rootPath = [[NSBundle mainBundle] resourcePath];
NSString *filePath = [rootPath stringByAppendingPathComponent:@"example.mov"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath isDirectory:NO];
yourMoviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: fileURL];

【讨论】:

谢谢,但我认为您误解了我要做什么...我正在尝试从互联网加载图像。

以上是关于ImageView 加载本地图像,但不从 URL的主要内容,如果未能解决你的问题,请参考以下文章

ImageView RecyclerView 延迟加载

PHP删除链接从文件夹中取消链接文件但不从MSSQL表中删除行

Xcode 不从 CUIDatalog 加载图像

UIWebView 不从协议相对 URL 加载图像

离子不从 url wp-json 和 ionic4 加载图像

加载 SDWebImage 图像大小大于 imageview 的图像