我将 bg.png 用于 iPhone,bg@2x 用于 iPhone 视网膜和 iPad,bg@4x 用于 iPad 视网膜。这是我写的代码:(在 Helper.m 中)
+ (UIImage *) imageNamed:(NSString *)name
{
name = [name stringByReplacingOccurrencesOfString:@".png" withString:@""];
UIImage *image;
if (IS_IPAD) {
if (IS_RETINA) {
image = [UIImage imageNamed:[NSString stringWithFormat:@"%@@4x.png", name]];
if (image) {
return image;
}
}
return [UIImage imageNamed:[NSString stringWithFormat:@"%@@2x.png", name]];
}
else {
if (IS_RETINA) {
image = [UIImage imageNamed:[NSString stringWithFormat:@"%@@2x.png", name]];
if (image) {
return image;
}
}
return [UIImage imageNamed:name];
}
}
文件是正确的,但图像的大小是错误的。
如果文件是系统自动选取的(使用[UIImage imageNamed:@"bg.png"]
),那么在 iPhone Retina 上,大小仍然是 320x480(1 点 = 4 像素)。
但如果我使用[Helper imageNamed:@"bg.png"]
,尺寸为 640x960。(1 点 = 1 像素)
所以无论如何要纠正大小?