0

iPhone3.5インチディスプレイのiOS5.1で実行すると、最初に自動レイアウトがクラッシュしました。自動レイアウトをオフにすることで修正されました。しかし、今、私がアプリを実行すると、画面が真っ暗になります。このビューは、ホームボタンをダブルタップしてマルチタスクバーを呼び出した場合にのみ表示されます。変だよね?

アプリの起動時:

ここに画像の説明を入力してください

マルチタスクを呼び起こすとき。

ここに画像の説明を入力してください

コードスニペット:

   if(screenSize.height == 480) {
        // iPhone Classic
        welcomeViewController = [welcomeViewController initWithNibName:@"WelcomeViewController~iphone3.5" bundle:nil];
        viewController = [viewController initWithNibName:@"selectZone~iphone3.5" bundle:nil];
        fixtureViewController = [fixtureViewController initWithNibName:@"fixture~iphone3.5" bundle:nil];

        [windowOldiPhone addSubview:fixtureViewController.view]; 
        [windowOldiPhone addSubview:viewController.view];
        [windowOldiPhone addSubview:welcomeViewController.view];
        [windowOldiPhone makeKeyAndVisible];
        [windowOldiPhone bringSubviewToFront:welcomeViewController.view];
    }

注:これは、iOS6を実行しているiPhone/iPadでは発生しません。

4

1 に答える 1

0

呼び出すbringSubviewToFront前に呼び出しmakeKeyAndVisibleます。以下のようにしてください

if(screenSize.height == 480) {
        // iPhone Classic
        welcomeViewController = [welcomeViewController initWithNibName:@"WelcomeViewController~iphone3.5" bundle:nil];
        viewController = [viewController initWithNibName:@"selectZone~iphone3.5" bundle:nil];
        fixtureViewController = [fixtureViewController initWithNibName:@"fixture~iphone3.5" bundle:nil];

        [windowOldiPhone addSubview:fixtureViewController.view]; 
        [windowOldiPhone addSubview:viewController.view];
        [windowOldiPhone addSubview:welcomeViewController.view];

        [windowOldiPhone bringSubviewToFront:welcomeViewController.view];
 [windowOldiPhone makeKeyAndVisible];
    }
于 2013-02-16T03:29:31.903 に答える