Невозможно определить iPhone Retina с размером экрана 4 дюйма в симуляторе

Я хочу, чтобы мое приложение iOS поддерживало iPhone 5. Поэтому я создал отдельный набор xib для iPhone 5 размера. Затем я загружаю каждый 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.

Но другие приложения, которые я создал, работают нормально.
В чем причина этого?


person iDia    schedule 07.02.2013    source источник


Ответы (1)


У меня сейчас такая же проблема (в худший момент, конечно ....). Он действительно работал должным образом в течение нескольких недель, и по неизвестной причине симулятор внезапно считает смоделированное 4-дюймовое устройство экраном 3,5 дюйма. очистка, сброс, перезагрузка: та же ситуация ...

РЕДАКТИРОВАТЬ: хорошо, проблема решена. Это произошло из-за отсутствия изображения по умолчанию в формате -568 @ 2x. Я знал, что это было условием для работы системы, но xcode явно решил избавиться от того, что я выбрал. Ну что ж...

person neywen    schedule 24.04.2013