2

关于新旧 iphone 屏幕的元素设置,我很早就遇到了许多问题和答案,并且也有了一些想法。我有一个疑问...我正在为 iphone 320X480(iPhone)、iphone 视网膜 3.5 英寸和 4 英寸视网膜屏幕准备一个应用程序。对于我想以编程方式设置的窗口(背景)实例。它必须带有标题栏。所以我到目前为止所做的检查了屏幕尺寸

    CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
    if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f) {
       UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Do-568h@2x.png"]];
    [self.view addSubview:backgroundImage];
    [self.view sendSubviewToBack:backgroundImage];
   } else {

    UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Do.png"]];
    [self.view addSubview:backgroundImage];
    [self.view sendSubviewToBack:backgroundImage];
   }

第一个块将检查 iphone 5 屏幕(我假设),第二个块将设置屏幕为正常和视网膜两个屏幕,我为其放置320X480像素图像名称 Do.png 和 640X960 图像名称Do@2x.png。iphone 和 iphone 3.5 (Retina) 在模拟器上显示良好,但我认为与 iPhone 5 相同的 iphone 4 (Retina) 无法正确显示。请让我知道我应该怎么做...是的,Do-568h@2x.png640X1136 ...。

4

1 回答 1

0

使用下面的方法来设置屏幕的大小

- (void)iPhoneDeviceScreenSetting {

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        CGSize result = [[UIScreen mainScreen] bounds].size;
        if(result.height == 480)
        {
            // iPhone Classic
            lowerImgVw.frame = CGRectMake(0, 395, 318, 40);
        }
        if(result.height == 568)
        {
            // iPhone 5
            lowerImgVw.frame = CGRectMake(0, 480, 318, 40);
        }
    }
}
于 2013-01-16T11:32:46.460 回答