UIImage不会在我的UIImageView中显示

时间:2014-05-11 23:29:53

标签: ios uiimageview uiimage

我有一个名为artworkImage的UIImage:

- (UIImage *) getAlbumArtworkWithSize: (CGSize) albumSize
{
    MPMediaQuery *albumQuery = [MPMediaQuery albumsQuery];
    MPMediaPropertyPredicate *albumPredicate = [MPMediaPropertyPredicate predicateWithValue: albumTitle forProperty: MPMediaItemPropertyAlbumTitle];
    [albumQuery addFilterPredicate:albumPredicate];
    NSArray *albumTracks = [albumQuery items];

    for (int i = 0; i < [albumTracks count]; i++) {

        MPMediaItem *mediaItem = [albumTracks objectAtIndex:i];
        UIImage *artworkImage;

        MPMediaItemArtwork *artwork = [mediaItem valueForProperty: MPMediaItemPropertyArtwork];
        artworkImage = [artwork imageWithSize: CGSizeMake (1, 1)];

        if (artworkImage) {
            artworkImage = [artwork imageWithSize:albumSize];
            return artworkImage;
        }

    }

    return [UIImage imageNamed:@"Songs.png"];
}

我有一个UIImageView(@property (weak, nonatomic) IBOutlet UIImageView *albumArtworkImageView;)我想显示这个artworkImage。

但是,当我在[self.albumArtworkImageView setImage:artworkImage];中添加viewDidLoad时,会出现错误,说我还没有声明artworkImage。

我要从一个VC中的UITableView专辑到这个albumDetailViewController。当导航栏标题正常工作时,它会正确推送,显示专辑标题 - self.title = albumTitle = [self.mediaItem valueForProperty:MPMediaItemPropertyAlbumTitle];

我跟着this tutorial获取了专辑封面(我不使用故事板)。

如果这是一个愚蠢的问题我道歉,但有人可以解释我做错了什么以及如何解决它?

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

显然,问题是没有声明名为artworkImage的变量。您不必声明artworkImage,您可以按如下方式调用您的方法

[self.albumArtworkImageView setImage:[self getAlbumArtworkWithSize:CGSizeMake(WIDTH,HEIGHT)]];

这次调用getAlbumArtworkWithSize,返回的值将用作setImage方法的参数。