J'ai une barre de navigation avec un titre. Lorsque je double-clique sur le texte pour le renommer, cela indique en fait que c'est un élément de navigation, donc c'est peut-être ça.
J'essaye de changer le texte en utilisant du code, comme:
declare navigation bar as navagationbar here
button stuff {
navigationbar.text = "title"
}
Ce n'est évidemment pas mon code, il montre simplement comment cela fonctionnerait.
Donc, chaque fois que j'appuie sur le bouton, je veux que le titre change.
la source
ViewController
fait référence à la classe elle-même. Vous devez faire référence à une instance deViewController
. À partir d'une méthode de votre classe, par exempleviewDidLoad
, vous pouvez le faire en utilisantself
. Si vous ne connaissez pas la différence entre une classe et une instance, je vous recommande fortement d'apprendre ce que c'est. Cet article vous aidera.Essayez ce qui suit dans
viewDidLoad
la source
Le code ci-dessous fonctionne pour moi avec Xcode 7:
la source
J'ai trouvé que cela fonctionnait:
la source
var customTitle = self.navigationController?.visibleViewController?.navigationItem customTitle?.title = "Some Title"
et aussi si vous essayez de créer
Navigation Bar
manuellement ce code vous aiderala source
Normalement, la meilleure pratique consiste à définir le titre sur le fichier
UIViewController
. En faisant cela, leUINavigationItem
est également défini. En général, c'est mieux que d'allouer et d'initialiser par programme unUINavigationBar
qui n'est lié à rien.Vous manquez certains des avantages et des fonctionnalités pour lesquels le a
UINavigationBar
été conçu. Voici un lien vers la documentation qui peut vous aider. Il décrit les différentes propriétés que vous pouvez définir sur la barre réelle et sur un fichierUINavigationItem
.Gardez simplement à l'esprit:
UINavigationController
Ce sont vos amis.la source
La bonne réponse pour les personnes utilisant swift4 serait
la source
Swift 3
J'ai créé une sortie pour l'élément de la barre de titre de navigation fourni avec la barre de navigation (à partir du navigateur d'objets) dans le storyboard. Ensuite, j'ai poursuivi la ligne ci-dessous:
la source
Si vous vouliez changer le titre d'un contrôleur de vue enfant d'un contrôleur de vue de page intégré dans un contrôleur de navigation, cela ressemblerait à ceci:
la source
Si vous avez un
NavigationController
intégré à l'intérieur d'unTabBarController
voir ci-dessous:Vous pouvez déboguer des problèmes comme celui-ci avec des scripts de débogage. Essayez la
pvc
commande de Chisel pour imprimer chaque vue visible / cachée de la hiérarchie.la source
Dans Swift 4:
Swift 4
J'espère que cela aide, salutations!
la source
Je préfère utiliser
self.navigationItem.title = "Your Title Here"
overself.title = "Your Title Here"
pour fournir un titre dans la barre de navigation car la barre d'onglets utilise égalementself.title
pour modifier son titre. Vous devriez essayer le code suivant une fois.Remarque: l'appel du cycle de vie de la super vue est nécessaire avant de faire quoi que ce soit.
la source
Swift 5.1
la source
Swift 5.1
// Définir le titre de NavigationBar par programmation et dynamique
Remarque: ajoutez d'abord NavigationControllerItem à Your
ViewController
puis allez dans leurViewController.swift
fichier et copiez et collez simplement ceciviewDidLoad()
.navigationItem.title = "Your Title Here"
la source