Frage

Ich habe eine Navigation App.

Ich schiebe eine Tabbar auf die Ansicht. Tabs sind Arbeitstitel geändert wird, perfekt. Jetzt eine meiner Registerkarten hat eine Liste, und ich versuche im Tabbar, um ein Kind Seite verlinken aus:

NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"ProfileDetailController" bundle:nil];
[self.navigationController pushViewController:nextController animated:YES];

Es passiert nichts. Natürlich ist dies funktioniert:

self.view = nextController.view;

Ich möchte in meinem Tabbar dieser Unterseite drücken zu können und die navigationbars Tasten ändern. Ist das möglich?

War es hilfreich?

Lösung

Es klingt wie Sie eine UITabBarController auf eine UINavigationController sind drängen? Von Apples Dokumentation , können Sie nicht eine Tab-Leiste Controller auf einen Navigation-Controller drücken.

Was möchten Sie wahrscheinlich tun, ist das Gegenteil: eine Tab-Leiste Controller mit UINavigationControllers wie die Registerkarte Elemente. Dies ist vergleichbar mit der Schnittstelle in, sagt der iPod App oder Telefon App.

Andere Tipps

ich mit Alex zustimmen - ein TabBarController in einer Navigationssteuerung scheint nicht wie ein schönes UI Muster

.

Wie auch immer, Ihre Frage zu beantworten: Haben Sie die Navigationssteuerung über die Tab-Leiste Controller zuzugreifen versucht,

?
self.tabBarController.navigationController

Ich bin mir nicht sicher, ob das funktioniert, aber man könnte es versuchen.

Ich glaube, ich eine einfache Lösung gefunden.

In der Klasse, wo Sie wollen einen Blick drücken, erklären eine lokale UINavigationController als propterty:

@interface userMenu : UIViewController  {
UINavigationController *navigationController;
}
@property (nonatomic, retain) UINavigationController *navigationController;

Denken Sie daran, es zu synthetisieren.

In der Klasse für die tabBarController:

NSArray *viewControllersArray = [self.tabBarController viewControllers];

userMenu *childUserMenu = (userMenu*) [viewControllersArray objectAtIndex:0];
childUserMenu.navigationController = self.navigationController;

Danach können Sie [self.navigationController pushViewController:nextController animated:YES]; tun

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top