iOS应用的背景图片的正确尺寸是多少?

时间:2014-06-20 06:36:12

标签: ios iphone xcode image

我想知道在iOS应用中我想用作背景的图像大小。我的申请将只是纵向。 问题是我的图像不是那样的简单图像

enter image description here

相反,我有一个我不想从导航栏和标签栏中捕获的图像。这样的事情:

enter image description here

我的问题是:为了在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];

}

1 个答案:

答案 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);
    }