Adicionando UIBarButtonItem a todos os controladores de exibição de navegação dentro de um UITabBarController programaticamente
A estrutura é a seguinte:
VisãoControlador de barra de abasControlador de NavegaçãoVisualizar controladorControlador de NavegaçãoVisualizar controladorControlador de NavegaçãoVisualizar controladorControlador de NavegaçãoVisualizar controladorControlador de NavegaçãoVisualizar controladorControlador de NavegaçãoVisualizar controladorOs controladores acima foram inicializados no construtor de interface.
O que estou tentando fazer é adicionar um direitoUIBarButtonItem
para cada controlador de navegação, mas não tendo nenhum sucesso.
Aqui está o que eu tentei:
<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>
O código é executado sem erros, mas o botão não aparece. Tenho certeza que entendi mal alguma coisa aqui. Gostaria de receber alguma orientação.