7

My app Layout ist wie folgt: -UIBarButtonItem nicht erscheint

die RootViewController a tabViewController mit 3 Laschen jeweils einen UINavigationController als RootViewController aufweist. Innerhalb eines dieser Tabs dränge ich die Zellenauswahl auf einen anderen tabController, der jetzt zwei Tabs hat. Was ich versuche, die rightBarButtonItem auf jedem dieser beiden Registerkarte Viewcontrollers eingestellt ... in dem viewDidLoad Verfahren dieser beide zu tun ist, ich tue:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(selectionChanged:)]; 

aber dies tut absolut nichts! Ich dachte von den Apfeldokumentationen, dass Sie das rightBarButtonItem des navigationItems von überall in der Ansichtshierarchie Ihrer Navigationssteuerungen einstellen könnten, aber das scheint hier nicht der Fall zu sein. Irgendeine Idee was - wenn überhaupt - ich mache falsch?

+0

Ich weiß nicht, warum es passiert nicht, aber vielleicht versuchen in SichtWillAppear? –

+0

Nein, kein Unterschied:/ – simonthumper

+0

Es wurde benötigt ... 'self.tabBarController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemEdit Ziel: self action: @selector (selectionChanged :)];' – simonthumper

Antwort

8

Die Lösung hierfür ist, anstatt einfach die rightBarButtonItem auf self.navigationItem setzen wir es auf den übergeordneten TabBarController festlegen müssen, wie so:

self.tabBarController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(selectionChanged:)];