0

我无法从 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 监视它。那为什么图片不显示呢?

4

3 回答 3

3

I was allocating the UIImageView object again instead of just initializing it with the image. The correct code is:

NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: song.albumURL]];
[cell.albumCover initWithImage:[UIImage imageWithData: imageData]];
于 2013-09-03T01:31:43.177 回答
1

我使用SDWebImageView

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

于 2013-09-03T01:55:31.750 回答
0

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

URLWithString:用于万维网 URL。

还有一个例子:

NSString *rootPath = [[NSBundle mainBundle] resourcePath];
NSString *filePath = [rootPath stringByAppendingPathComponent:@"example.mov"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath isDirectory:NO];
yourMoviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: fileURL];
于 2013-09-03T01:27:25.683 回答