2009-04-25 10 views
0

Ich möchte nach dem Klicken auf eine Schaltfläche einen Navigationscontroller anzeigen. Bei jedem Lernprogramm wird davon ausgegangen, dass der Navigationscontroller der erste Bildschirm ist, sodass er mit dem App-Delegaten verknüpft wird. Der App-Delegat wird jedoch nur auf MainWindow.xib angezeigt. Wie fügen Sie einen Navigationscontroller zu einer anderen Ansicht als MainWindow hinzu?Einen Navigationscontroller ohne App-Delegierten festlegen

Danke!

Antwort

0

UINavigationController soll eine Hierarchie von Ansichten mit UIViewControllers navigieren. Wenn Sie keinen root UIViewController haben, wird es nicht funktionieren (und macht keinen Sinn). Wenn Sie einen UIViewController haben, senden Sie einfach eine Initialisierungsnachricht - (id)initWithRootViewController:(UIViewController *)rootViewController an einen neuen Navigationscontroller, der Ihren UIViewController übergibt.

5

Hier ist ein Beispielcode, um Rogers Antwort zu erweitern. Die folgende Methode ist mit einer Benutzerinteraktion auf dem aktuellen View-Controller verknüpft (um z. B. eine E-Mail zu erstellen). Dadurch wird anstelle der Codierschaltflächen in der benutzerdefinierten Ansicht die Navigationsleiste oben angezeigt.

-(void) composeButtonPushed: (id) sender { 
    ComposeViewController *controller = [[ComposeViewController alloc] initWithNibName:@"ComposeView" bundle:nil]; 
    UINavigationController *composeNavController = [[UINavigationController alloc] initWithRootViewController:controller]; 
[self presentModalViewController:composeNavController animated:NO]; 
} 
Verwandte Themen