7

Moja aplikacja układ jest następujący -UIBarButtonItem nie pojawia

rootViewController jest tabViewController z 3 kartami każdy posiada UINavigationController jako ich rootViewController. W ramach jednej z tych zakładek pcham wybór komórki do innego tabController, który ma teraz dwie zakładki. Co próbuję zrobić, to ustawić rightBarButtonItem na każdym z tych dwóch viewControllers Tab ... w metodzie viewDidLoad obu tych robie:

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

jednak to robi absolutnie nic! Pomyślałem, że z dokumentacji jabłek można ustawić właściwość nawigacjaItem w prawoBarButtonItem z dowolnego miejsca w hierarchii widoków kontrolerów nawigacyjnych, ale nie wydaje się, aby tak było w tym przypadku. Masz pojęcie, co - jeśli coś - robię źle?

+0

Nie wiem, dlaczego tak się nie dzieje, ale może spróbować w viewWillAppear? –

+0

Nie, nie ma różnicy:/ – simonthumper

+0

Mam to ... potrzebne do zrobienia 'self.tabBarController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemEdit target: self action: @selector (selectionChanged :)];' – simonthumper

Odpowiedz

8

Rozwiązaniem tego problemu jest, aby zamiast po prostu ustawienie rightBarButtonItem na self.navigationItem musimy ustawić go na TabBarController macierzystej tak:

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