Vous n'êtes pas identifié.

#1 30-07-2010 12:26:54

memfdaouf
iPuP aguerri
Date d'inscription: 22-04-2010
Messages: 122

backBarButtonItem

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

 

#2 30-07-2010 12:36:13

kazou
Modérateur
Lieu: Paris
Date d'inscription: 11-12-2009
Messages: 1552

Re: backBarButtonItem


    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 smile

ps : ca doit marché dans le viewDidLoad aussi je pense


aider son prochain fait partie des principes de base dans une société, et je considère le net comme une société

Hors ligne

 

#3 30-07-2010 12:45:25

memfdaouf
iPuP aguerri
Date d'inscription: 22-04-2010
Messages: 122

Re: backBarButtonItem

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

 

#4 30-07-2010 13:01:21

kazou
Modérateur
Lieu: Paris
Date d'inscription: 11-12-2009
Messages: 1552

Re: backBarButtonItem

tu met bien ca dans le controller ou tu veux modifier le bouton et non dans le controller ou tu push ton nouveau hein ?


aider son prochain fait partie des principes de base dans une société, et je considère le net comme une société

Hors ligne

 

#5 30-07-2010 13:03:50

memfdaouf
iPuP aguerri
Date d'inscription: 22-04-2010
Messages: 122

Re: backBarButtonItem

oui oui je le met dans le contrôleur appelé

Hors ligne

 

#6 30-07-2010 13:06:39

kazou
Modérateur
Lieu: Paris
Date d'inscription: 11-12-2009
Messages: 1552

Re: backBarButtonItem

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");
}


aider son prochain fait partie des principes de base dans une société, et je considère le net comme une société

Hors ligne

 

#7 30-07-2010 13:15:38

memfdaouf
iPuP aguerri
Date d'inscription: 22-04-2010
Messages: 122

Re: backBarButtonItem

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

 

#8 30-07-2010 13:34:01

kazou
Modérateur
Lieu: Paris
Date d'inscription: 11-12-2009
Messages: 1552

Re: backBarButtonItem

étrange..

quand tu ne précise pas de title au moment du push par défaut normalement il met "back" vraiment étrange ton truc.


aider son prochain fait partie des principes de base dans une société, et je considère le net comme une société

Hors ligne

 

#9 30-07-2010 13:36:11

memfdaouf
iPuP aguerri
Date d'inscription: 22-04-2010
Messages: 122

Re: backBarButtonItem

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 smile

Hors ligne

 

#10 30-07-2010 14:45:53

memfdaouf
iPuP aguerri
Date d'inscription: 22-04-2010
Messages: 122

Re: backBarButtonItem

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

 

#11 30-07-2010 20:01:50

ipodishima
Administrateur
Date d'inscription: 12-02-2009
Messages: 4913

Re: backBarButtonItem

Mais le back button est automatique du moment que tu ne mets rien dans leftBarbuttonItem !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr


Copyright © 2009 - ipup.fr • création de Jérémy Lagrue • design de Loann Fraillon • contact