シミュレータでiPhone Retinaの4インチ画面サイズを検出できません

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-inchに変更すると、私のコードはエミュレータのサイズを取得しません。常に if if 条件を実行します。

しかし、このように作成した他のアプリは正常に動作しています。
これの理由は何ですか?

1

1 答え

私はまさに同じ問題を抱えています(最悪の瞬間に、もちろん....)。 それは数週間は正常に動作しましたが、未知の理由から、シミュレータは突然4インチのシミュレートされたデバイスを3.5インチの画面と見なします。 クリーニング、リセット、再起動:同じ状況...

編集:問題を解決しました。 -568 @ 2x形式でデフォルト画像が欠落していたためです。私はそれがシステムを動作させる条件であることがわかっていましたが、xcodeは私が選んだものを取り除くことを明らかにしました。しかたがない...

4
追加された