无法在模拟器中检测到iPhone Retina 4英寸屏幕尺寸

时间:2013-02-07 10:58:33

标签: objective-c ios6 uiscreen

我想让我的iOS应用程序支持iPhone 5.所以我为iPhone 5大小创建了一个单独的xib集。然后我通过检查屏幕高度加载每个xib。

这是AppDelegate.m中的启动画面加载代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    UIViewController *viewController1;
    if ([UIScreen mainScreen].bounds.size.height==480) {
        viewController1 = [[SplashScreen alloc] initWithNibName:@"SplashScreen" bundle:nil];
    }


    if ([UIScreen mainScreen].bounds.size.height==568) {
        viewController1 = [[SplashScreen alloc] initWithNibName:@"SplashScreen5" bundle:nil];
    }

    self.window.rootViewController = viewController1;
    [self.window makeKeyAndVisible];
    return YES;
}

但是当我将模拟器更改为Retina 4英寸时,我的代码无法获得模拟器大小。它始终执行480 if条件。

但是我创建的其他应用程序正常运行 这是什么原因?

1 个答案:

答案 0 :(得分:4)

我现在遇到完全相同的问题(当然是在最糟糕的时刻......)。 它确实工作了几个星期,并且由于一个未知的原因,模拟器突然将4英寸模拟设备视为3.5英寸屏幕。 清洁,重置,重启:同样的情况......

编辑:好的,问题解决了。 T'是因为-568 @ 2x格式中缺少默认图像。我知道这是使系统工作的一个条件,但xcode显然决定摆脱我选择的那个。哦,好吧......

相关问题