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的主要内容,如果未能解决你的问题,请参考以下文章
PHP删除链接从文件夹中取消链接文件但不从MSSQL表中删除行