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:
<code>- (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]; } </code>
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.