我想知道在iOS应用中我想用作背景的图像大小。我的申请将只是纵向。 问题是我的图像不是那样的简单图像
相反,我有一个我不想从导航栏和标签栏中捕获的图像。这样的事情:
我的问题是:为了在iphone,iphone4和iphone5上看起来没问题,这个图像的正确尺寸是多少以及xCode将如何知道必须使用哪个图像?我必须使用哪些名称。如果我使用 background.png background@2x.png 然后iphone4和iphone5与视网膜屏幕将使用background@2x.png 但iphone5的高度更高。有人能帮助我理解吗?
解决方案:我使用尺寸为320x455的iphone5作为名称为Default-568h.png的图像,使用640x910作为名称为Default-568h@2x.png的图像。对于所有其他iphone设备,名称为Default.png的图像为320x367,图像Default@2x.png为640x734。然后我在viewDidLoad上使用了这段代码:
#define IS_iPhone5 ([[UIScreen mainScreen] bounds].size.height == 568)
if (IS_iPhone5)
{
UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default-568h.png"]];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];
}
else
{
UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];
}
答案 0 :(得分:1)
#define IS_iPhone5 ([[UIScreen mainScreen] bounds].size.height == 568)
if (IS_iPhone5)
{
self.backGroundImageView.image = [UIImage imageNamed:@"Default-568h.png"];
self.backGroundImageView.frame = CGRectMake(0, 0, 320, 568);
}
else
{
self.backGroundImageView.image = [UIImage imageNamed:@"Default.png"];
self.backGroundImageView.frame = CGRectMake(0, 0, 320, 480);
}