Dodawanie UIBarButtonItem do wszystkich kontrolerów widoku nawigacji w programie UITabBarController programowo
Struktura jest następująca:
WidokKontroler paska kartKontroler nawigacyjnyZobacz kontrolerKontroler nawigacyjnyZobacz kontrolerKontroler nawigacyjnyZobacz kontrolerKontroler nawigacyjnyZobacz kontrolerKontroler nawigacyjnyZobacz kontrolerKontroler nawigacyjnyZobacz kontrolerPowyższe kontrolery zostały zainicjowane w programie budującym interfejs.
Próbuję dodać prawoUIBarButtonItem
do każdego kontrolera nawigacyjnego, ale nie ma żadnego sukcesu.
Oto, co próbowałem:
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor clearColor];
self.view.opaque = NO;
self.tabBarController.view.frame = self.view.bounds;
NSArray *currentViewControllers = self.tabBarController.viewControllers;
NSMutableArray *updatedViewControllers = [NSMutableArray array];
for (int i=0; i<currentViewControllers.count; i++) {
UINavigationController *tempNav = [[UINavigationController alloc]init];
tempNav = [currentViewControllers objectAtIndex:i];
UIBarButtonItem *dismissButton = [[UIBarButtonItem alloc]
initWithTitle:@"Done"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(dismissLibraryBrowser)];
tempNav.navigationItem.rightBarButtonItem = dismissButton;
[updatedViewControllers addObject:tempNav];
[dismissButton release];
[tempNav release];
NSLog(@"Added controller number %d",i);
}
self.tabBarController.viewControllers = [NSArray arrayWithArray:updatedViewControllers];
[self.view addSubview:tabBarController.view];
}
Kod wykonuje się bez żadnych błędów, ale przycisk nie pojawia się. Jestem pewien, że coś tu źle zrozumiałem. Byłbym wdzięczny za pewne wskazówki.