2010-11-20 22 views
0

私のアプリケーションでは、私のアプリケーションのメインビューを保持して制御するために使用しようとしているmainViewControllerがあります。最初にスプラッシュ画面をロードしましたが、ユーザーがスプラッシュ画面をタップするとメインメニューに移動するようにしたいと考えています。UINavigationControllerはタイトルを表示していますが、表示はしません

私はスプラッシュ画面の部分が正常に動作していますが、NavigationController部分に問題があります。


[splashView.view removeFromSuperview];

mainMenu = [[menuScreenViewController alloc] initWithNibName:@ "menuScreenViewController" bundle:nil]; mainMenu.title = @ "メニュー"; mainNavController = [[UINavigationController alloc] init]; [mainNavController pushViewController:mainMenu animated:NO];

[MAINVC.view addSubview:mainNavController.view];

[mainMenu release]; [mainNavController release];

[splashView release];


(MAINVCは他の場所でメインビューコントローラとして定義されています)。

とにかく、私はこれを行うと、タイトルが 'Menu'であるナビゲーションコントローラを取得しますが、ナビゲーションコントローラにはmainMenuビューコントローラに含まれるビューは表示されません。

mainMenuのビューにMAINVC.viewのサブビューを追加するだけで、正しく表示されます。

ナビゲーションコントローラに表示する方法を教えてください。

+0

avery、この回答は役に立ちましたか? –

答えて

0

averyの場合、新しいビューを初期化してからプッシュするのではなく、ルートコントローラとしてmainMenuを使用してナビゲーションコントローラを初期化する必要があります。これは、ルートビューコントローラが動作する必要があります。ショー上記のコメントとして

mainMenu = [[menuScreenViewController alloc] initWithNibName:@"menuScreenViewController" bundle:nil]; 
mainMenu.title = @"Menu"; 
mainNavController = [[UINavigationController alloc] initWithRootViewController:mainMenu]; 

//ADD MODAL SPLASH SCREEN HERE 

[MAINVC.view addSubview:mainNavController.view]; 

[mainMenu release]; 
[mainNavController release]; 

[splashView release]; 

、私はあなたがこの方法を初期化することを示唆して、その後、modalViewControllerとしてのナビゲーションコントローラにあなたのスプラッシュスクリーンを追加します。これにより、タッチスクリーンをタップしたときのmainMenuの初期化による遅延を防ぐことができます。次に、モーダルビューにタッチが届くと、次のように呼び出すことができます。

関連する問題