0

アルバムアートが存在しない場合は、プレースホルダー画像を入れようとしています。何らかの理由で、代表アイテムの画像が null になることはないため、空白のアートワークを割り当てるだけです...

MPMediaItemArtwork *artwork = [[mediaListItem representativeItem] valueForProperty:MPMediaItemPropertyArtwork];

    if (artwork) {
         sModel.albumImage = [artwork imageWithSize: CGSizeMake (10, 10)];
    } else {
        sModel.albumImage = [UIImage imageNamed:@"Default_.png"]; //never enters
    }
4

1 に答える 1

0

解決策を見つけました、私は天才です;)

MPMediaItemArtwork *artwork = [[mediaListItem representativeItem] valueForProperty:MPMediaItemPropertyArtwork];

//If artwork has no size set place holder
if (CGSizeEqualToSize(artwork.bounds.size, CGSizeZero))
{
   sModel.albumImage = [UIImage imageNamed:DEFAULT_IMG];
}
else //Otherwise set the artwork found in the library. 
{
   sModel.albumImage = [artwork imageWithSize: CGSizeMake (SIZE_X, SIZE_Y)];
}
于 2013-01-14T22:47:10.720 に答える