Dans mon AppDelegate, je crée un UITabBarController et UINavigationController dynamiquement. J'ajoute ensuite 3 vues à cela.Ajouter à mon bouton Afficher « En-tête/Titre » bar
// Prepare the tab bar controller
tabBarController = [[UITabBarController alloc] init];
// Switch controller
UserSettingsController *settingsController = [[UserSettingsController alloc] init];
// Switches controller
SwitchesController *switchesController = [[SwitchesController alloc] init];
// Help controller
HelpController *helpController = [[HelpController alloc] init];
NSArray *controllers = [NSArray arrayWithObjects: switchesController, settingsController, helpController, nil];
tabBarController.viewControllers = controllers;
if (self.navigationController == nil) {
self.navigationController = [[UINavigationController alloc] initWithRootViewController:tabBarController];
}
[window addSubview:navigationController.view];
Lorsque j'ai fait cela au début, j'ai remarqué que j'ai maintenant une barre d'en-tête/titre en haut de ma page. Il est vide et prend vraiment de la place. J'aimerais cependant l'utiliser et ajouter un bouton «Actualiser» à l'une de mes vues.
De l'avis Je suis intéressé, j'ai essayé ce qui suit:
-(void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *refresh = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" style:UIBarButtonItemStylePlain target:self action:@selector(refreshSwitches:)];
self.navigationItem.rightBarButtonItem = refresh;
[refresh release];
}
-(void)refresh{
...
}
Aucun bouton montré, donc je suis soit loin ou je manque quelque chose.
Des suggestions?
Merci
Difficile de dire exactement ce qui va mal à partir de ce code. Pourriez-vous montrer un peu plus de votre code d'initialisation (pour les vues/contrôleur de nav)? Aussi, avez-vous confirmé que viewDidLoad est appelé? – Sam
@Sam - oui, viewDidLoad est en cours d'exécution. J'ai modifié le message et ajouté mon code de démarrage pour les vues, tabBarController, navController. – bugfixr