Salut à tous. Je suis encore assez nouveau dans le développement iPhone et j'ai un peu de mal à trouver comment changer le titre de ma barre de navigation. Sur une autre question sur ce site, quelqu'un a recommandé d'utiliser:
viewController.title = @"title text";
mais cela ne fonctionne pas pour moi ... Dois-je ajouter un UINavigationController pour accomplir cela? Ou peut-être juste une sortie de ma sous-classe UIViewController? Si cela aide, j'ai défini la barre de navigation dans IB et j'essaie de définir son titre dans ma sous-classe UIViewController. C'est une autre de ces choses simples qui me donnent mal à la tête. Mettre self.title = @ "texte du titre"; dans viewDidLoad
et initWithNibName
ne fonctionne pas non plus . Quelqu'un sait ce qui se passe et comment y arriver correctement?
Merci!
la source
si vous faites tout cela par code dans la
viewDidLoad
méthode du,UIViewController
vous ne devez ajouter queself.title = @"title text";
quelque chose comme ça:
- (void)viewDidLoad { [super viewDidLoad]; self.title = @"title"; }
tu pourrais aussi essayer
self.navigationItem.title = @"title";
Vérifiez également si votre navigationItem n'est pas nul et si vous avez défini un arrière-plan personnalisé pour la barre de navigation, vérifiez si le titre est défini sans lui.
la source
Il y a un problème avec l'utilisation
self.title = @"title";
Si vous utilisez la barre de navigation avec la barre d'onglets, la ligne ci-dessus modifie également l'étiquette de l'élément de la barre d'onglets. Pour éviter cela, utilisez ce que @testing a suggéré
self.navigationItem.title = @"MyTitle";
la source
Si vous voulez changer le titre de la barre de navigation (pas le titre du bouton de retour de la barre de navigation!), Ce code fonctionnera.
self.navigationController.topViewController.title = @"info";
la source
Si vous souhaitez modifier le titre d'une barre de navigation dans un contrôleur tabBar, procédez comme suit:
-(void)viewDidAppear:(BOOL)animated { self.navigationController.navigationBar.topItem.title = @"myTitle"; }
la source
Dans mon application basée sur la navigation, je fais ceci:
myViewController.navigationItem.title = @"MyTitle";
la source
J'avais un contrôleur de navigation intégré dans un TabbarController. Cela a fonctionné
self.navigationItem.title=@"title";
la source
Par défaut, le contrôleur de navigation affiche le titre du 'topitem'
donc dans votre méthode viewdidload de votre appdelegate, vous pouvez. Je l'ai testé et ça marche
navController.navigationBar.topItem.title = @"Test";
la source
UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@"title text"]; ... [bar pushNavigationItem:item animated:YES]; [item release];
Ce code a fonctionné.
la source
Si vous travaillez avec des storyboards, vous pouvez cliquer sur le contrôleur, passer à l'onglet Propriétés et y définir le texte du titre.
la source
Je suppose que vous avez besoin d'un titre dynamique, c'est pourquoi vous ne le définissez pas dans IB.
Et je suppose que votre objet viewController est celui spécifié dans le NIB?
Peut-être essayer de le définir sur une valeur fictive dans IB, puis déboguer les méthodes pour voir quel contrôleur a la valeur fictive - en supposant qu'elle apparaisse comme titre ...
la source
Depuis votre TableViewController.m:
la source
Pour tous vos Swift-ers là-bas, cela a parfaitement fonctionné pour moi. C'est notamment l'un des moyens les plus courts de définir le titre:
override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "presentLineItem" { print("Setting Title") var vc = segue.destinationViewController as! LineItemsTableViewController vc.navigationItem.title = "Line Item" } }
la source