1

iPhoneウィンドウにサブビューを追加しようとしていますが、そのために次のコードを記述しました。問題は、スプラッシュビューまたはメインメニュービューが画面に表示されると、ステータスバーの後ろに表示されることです。つまり、ビューはステータスバーの後ろから始まります。また、メインメニュービューがスプラッシュビューの後に表示される場合、両方のビューがオーバーラップします。誰か助けてもらえますか?ありがとう

- (void)applicationDidFinishLaunching:(UIApplication *)application {
       [window addSubView: [[Resources getResources] getSplashView]];
       [vindow makeKeyAndVisible];
       [self performSelector:@selector(displayMainMenuView) withObject:nil afterDelay:2.0];
  }


 -(void) displayMainMenuView {
       [window addSubView: [[Resources getResources] getMainMenuView]];`   
  }
4

3 に答える 3

2

メインメニューのフレームを次のように調整することもできます。

mainMenuViewController.view.frame = CGRectMake(0.0f, 20.0f, 320.0f, 460.0f);

これにより、ステータスバーのすぐ下にビューが表示されます。

于 2010-07-21T11:03:34.607 に答える
0

statusBarHiddenスプラッシュビューが表示されたら、プロパティをYESに設定します

- (void)applicationDidFinishLaunching:(UIApplication *)application {
       application.statusBarHidden = YES;
       [window addSubView: [[Resources getResources] getSplashView]];
       [vindow makeKeyAndVisible];
       [self performSelector:@selector(displayMainMenuView) withObject:nil afterDelay:2.0];
  }
于 2010-07-21T08:10:46.117 に答える
0

これは、ルートビューで発生することです。addSubViewメソッドを使用する代わりに、ウィンドウのrootViewControllerを設定してみてください。このようなもの:

  • (void)applicationDidFinishLaunching:(UIApplication *)application { window.rootViewController = [[Resources getResources] getSplashViewController ]]; [vindow makeKeyAndVisible]; [self PerformSelector:@selector(displayMainMenuView)withObject:nil afterDelay:2.0]; }

    -(void)displayMainMenuView { window.rootViewController = [[Resources getResources] getMainMenuViewController ]];
    }

ビューオブジェクトではなく、コントローラオブジェクトを設定する必要があることに注意してください。したがって、あなたの場合、getMainMenuViewControllerのようなゲッターが必要になります。

于 2012-05-10T21:01:03.330 に答える