Ios6 专辑艺术品和代表性项目
如果相册艺术不存在,我尝试放置一个占位符图像。由于某些原因,representativeItem中的图像从不为空,因此它只是分配一个空白的艺术品Ios6 专辑艺术品和代表性项目,ios6,Ios6,如果相册艺术不存在,我尝试放置一个占位符图像。由于某些原因,representativeItem中的图像从不为空,因此它只是分配一个空白的艺术品 MPMediaItemArtwork *artwork = [[mediaListItem representativeItem] valueForProperty:MPMediaItemPropertyArtwork]; if (artwork) { sModel.albumImage = [artwork imageWi
MPMediaItemArtwork *artwork = [[mediaListItem representativeItem] valueForProperty:MPMediaItemPropertyArtwork];
if (artwork) {
sModel.albumImage = [artwork imageWithSize: CGSizeMake (10, 10)];
} else {
sModel.albumImage = [UIImage imageNamed:@"Default_.png"]; //never enters
}
找到了解决方案,我是个天才;)
因此,如果指向artwork的
指针==0,则声明if(artwork)
应输入else
端?你的代码的意图可能比这更清楚。如果艺术品存在,那么它会设置相册图像。否则它会设置一个默认图像,我不知道如何才能让您更清楚。我想说的是,else
无法执行的最可能原因是,if
中的条件是错误的。看起来你正在检查artwork
是否为零,但是如果你没有artwork
参考,谁知道指针上是什么。啊,我明白了。文档没有指定返回值的任何细节,所以我想在看到这个方法在找不到合适的artwork时返回的结果之前,我会一直坚持下去。我不是ios6专家,但因为看起来你总是能从这个调用中得到一个MPMediaItemArtwork
对象,您必须检查,看看是否有什么东西可以用来检测图像的缺失。
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)];
}