2010-11-20 11 views
0

In meiner App habe ich einen mainViewController, den ich verwenden möchte, um ein paar Hauptansichten für meine App zu halten und zu steuern. Ich habe zuerst einen Begrüßungsbildschirm geladen, möchte ihn dann aber haben, damit ein Benutzer, wenn er auf den Begrüßungsbildschirm klickt, zum Hauptmenü gelangt.UINavigationController Anzeige des Titels, aber keine Ansicht

Ich habe den Splash Screen Teil funktioniert gut, aber ich habe Probleme mit dem NavigationController Teil.


[splashView.view removeFromSuperview];

mainMenu = [[menuScreenViewController alloc] initWithNibName: @ "menuScreenViewController" bundle: nil]; mainMenu.title = @ "Menü"; mainNavController = [[UINavigationController alloc] init]; [mainNavController pushViewController: mainMenu animiert: NEIN];

[MAINVC.view addSubview: mainNavController.view];

[HauptMenü-Version]; [HauptNavController Release];

[SplashView-Version];


(MAINVC ist an anderer Stelle definiert als meine Hauptansicht Controller).

Wie auch immer, wenn ich dies tue, bekomme ich den Navigationscontroller mit dem Titel "Menü", aber die Ansicht in der MainMenu View Controller nicht im Navigationscontroller angezeigt.

Wenn ich einfach die MainMenu-Ansicht ass eine Unteransicht von MAINVC.view hinzufügen, wird es korrekt angezeigt.

Irgendwelche Vorschläge, wie es in meinem Navigationscontroller angezeigt wird?

+0

Avery, hat diese Antwort überhaupt geholfen? –

Antwort

0

Avery, Sie werden den Navigationscontroller mit dem MainMenu als Root-View-Controller initialisieren müssen, anstatt nur eine neue Ansicht zu initialisieren und dann zu drücken. Es benötigt diesen Root View Controller, um zu funktionieren.

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]; 

Als Kommentar oben zeigt, werde ich vorschlagen, dass Sie auf diese Weise initialisieren, und dann anschließend als modalViewController Ihren Splash-Screen mit den nav-Controller hinzuzufügen. Dies verhindert Verzögerungen, die bei der Initialisierung des mainMenu auftreten können, wenn Sie auf den Touchscreen tippen. Wenn dann die modale Ansicht eine Berührung erhält, können Sie anrufen:

Verwandte Themen