我在名为Wallpaper的Assets.xcassets
中创建了一个图像集。
由于我正在使用的应用程序仅适用于iOS 7或更高版本,因此嵌入非视网膜图像将毫无用处(iPhone 4具有视网膜,是支持iOS 7的最古老的设备)。这导致我的图像集中出现空白点。
现在,当我尝试为我的UIView
设置背景时,我想我可能会使用该空白点作为iPhone 6全屏图像的参考(现在正在使用@ 2x图像)。
所以我正在寻找一种方法让iPhone 6使用@ 1x图像,否则不会使用@ 1x图像。
壁纸图片集Contents.json
{
"images" : [
{
"idiom" : "iphone",
"filename" : "Wallpaper-iPhone@1x.png",
"scale" : "1x"
},
{
"idiom" : "iphone",
"filename" : "Wallpaper-iPhone@2x.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"filename" : "Wallpaper-iPhone@2x-568h.png",
"subtype" : "retina4",
"scale" : "2x"
},
{
"idiom" : "iphone",
"filename" : "Wallpaper-iPhone@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
我已经尝试了以下选项来达到Wallpaper-iPhone@1x.png
,但它们似乎都没有效果。
UIImage *Wallpaper = [UIImage imageNamed:@"Wallpaper"];
if([UIScreen mainScreen].bounds.size.height == 667) {
// 1. Use the image name, this results in (null).
NSLog(@"%@",[UIImage imageNamed:@"Wallpaper-iPhone@1x.png"]);
// 2. Add the mainBundle to the path, this also results in (null).
NSLog(@"%@",[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Wallpaper-iPhone@1x.png", [[NSBundle mainBundle] resourcePath]]]);
}
[self.view setBackgroundColor:[UIColor colorWithPatternImage:Wallpaper]];
请注意:
"subtype" : "667h"
中设置Contents.json
,但这似乎不起作用......