Vous n'êtes pas identifié.
Bonjour,
Je n'arrive pas à changer le titre d'un backBarButtonItem. J'ai pourtant suivi les discussions déjà existantes mais ca ne change rien.
Dans mon contrôleur appelant j'ai le code suivant :
DetailViewController *myDetailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView"
bundle:[NSBundle mainBundle]];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
[self.navigationController pushViewController:myDetailViewController animated:YES];
[myDetailViewController release];
myDetailViewController = nil;par doute j'ai également essayer d'initialiser le backButton dans le contrôleur appelé mais non plus. Le bouton prend le titre que j'ai dans ma navBar du contrôleur appelant.
Si quelqu'un pourrait m'aider sur ce petit problème.
Merci
Hors ligne
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Retour" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];dans le -(void)viewWillAppear:(BOOL)animated; de ton controller et ca marche niquel 
ps : ca doit marché dans le viewDidLoad aussi je pense
Hors ligne
Je l'avais avant dans le viewDidLoad et ca ne fonctionnait pas, je l'ai donc placé comme tu me l'indiques de cette manière :
-(void)viewWillAppear:(BOOL)animated {
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Retour" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
}mais je retrouve toujours le titre de la page précédente dans mon backBarButton.
Hors ligne
tu met bien ca dans le controller ou tu veux modifier le bouton et non dans le controller ou tu push ton nouveau hein ?
Hors ligne
oui oui je le met dans le contrôleur appelé
Hors ligne
quand tu push faut enlever le
self.navigationItem.title
au moment du push
si tu veux mettre un titre a ton controller met le dans le
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.title = s17LocalizedString(@"Results", @"result search main title");
}Hors ligne
Oui, en fait ne je ne met le title au moment du push, voici mon push :
DetailViewController *myDetailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView"
bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:myDetailViewController animated:YES];
[myDetailViewController release];
myDetailViewController = nil;et ensuite dans mon viewDidLoad de mon contrôleur appelé j'ai ceci :
UINavigationBar *myNavigationBar = [self.navigationController navigationBar];
[myNavigationBar setTintColor:[UIColor clearColor]];
self.navigationItem.title = @"monTitre";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Retour" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
UIBarButtonItem *playButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
target:self
action:@selector(buttonPlayPressed:)];
self.navigationItem.rightBarButtonItem = playButton;Hors ligne
étrange..
quand tu ne précise pas de title au moment du push par défaut normalement il met "back" vraiment étrange ton truc.
Hors ligne
je précise que si je met leftButton au lieu de backButton alors ca prend en compte le texte mais du coup il a pas l'action "back" automatiquement associé.
et également le button play que je créer juste après fonctionne correctement. C'est vraiment juste le backButton qui me créé problème 
Hors ligne
du coup j'ai pensé le faire de la manière suivante :
-(void)viewWillAppear:(BOOL)animated {
RootViewController *myRootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController"
bundle:[NSBundle mainBundle]];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Retour"
style:UIBarButtonItemStylePlain
target:nil
action:[self.navigationController pushViewController:myRootViewController animated:YES]];
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];
[myRootViewController release];
myRootViewController = nil;
}En utilisant le leftButton et lui disant qu'elle page afficher mais j'ai l'erreur : "invalid use of void expression" sur la ligne
"action:[self.navigationController pushViewController:myRootViewController animated:YES]];"
Je suppose que le fait que la méthode est de type -(void) cela créé un problème ?
Dernière modification par memfdaouf (30-07-2010 14:47:56)
Hors ligne
Mais le back button est automatique du moment que tu ne mets rien dans leftBarbuttonItem !
Hors ligne
Copyright © 2009 - ipup.fr • création de Jérémy Lagrue • design de Loann Fraillon • contact