Eu tenho uma barra de navegação com um título. Quando clico duas vezes no texto para renomeá-lo, ele realmente diz que é um item de navegação, então pode ser isso.
Estou tentando alterar o texto usando o código, como:
declare navigation bar as navagationbar here
button stuff {
navigationbar.text = "title"
}
Esse não é meu código, obviamente, apenas mostrando como funcionaria.
Então, sempre que eu pressionar o botão, quero que o título mude.
fonte
ViewController
refere-se à própria classe. Você precisa se referir a uma instância deViewController
. De dentro de um método em sua classe, comoviewDidLoad
, você pode fazê-lo usandoself
. Se você não sabe a diferença entre uma classe e uma instância, eu recomendo que você aprenda o que é. Este artigo irá ajudar.Tente o seguinte em
viewDidLoad
fonte
O código abaixo funciona para mim com o Xcode 7:
fonte
Eu achei que isso funcionava:
fonte
var customTitle = self.navigationController?.visibleViewController?.navigationItem customTitle?.title = "Some Title"
e também se você tentar criar
Navigation Bar
manualmente, esse código o ajudaráfonte
Normalmente, a melhor prática é definir o título no
UIViewController
. Ao fazer isso, oUINavigationItem
também é definido. Geralmente, isso é melhor do que alocar e inicializar programaticamente umUINavigationBar
que não está vinculado a nada.Você perde alguns dos benefícios e funcionalidades para os quais
UINavigationBar
foi projetado. Aqui está um link para a documentação que pode ajudá-lo. Ele discute as diferentes propriedades que você pode definir na barra real e noUINavigationItem
.Lembre-se:
UINavigationController
São seus amigos.fonte
A resposta correta para pessoas que usam swift4 seria
fonte
Swift 3
Eu criei uma saída para o item da barra de título de navegação que acompanha a barra de navegação (do Pesquisador de objetos) no storyboard. Então eu processei a linha abaixo:
fonte
Se você quisesse alterar o título de um controlador de exibição filho de um Page View Controller incorporado a um controlador de navegação, seria assim:
fonte
Se você tiver um
NavigationController
incorporado dentro de umTabBarController
veja abaixo:Você pode depurar problemas como este com scripts de depurador. Experimente o
pvc
comando Chisel para imprimir todas as visualizações visíveis / ocultas na hierarquia.fonte
No Swift 4:
Swift 4
Espero que ajude, cumprimentos!
fonte
Eu prefiro usar
self.navigationItem.title = "Your Title Here"
overself.title = "Your Title Here"
para fornecer título na barra de navegação, pois a barra de guias também usaself.title
para alterar seu título. Você deve tentar o seguinte código uma vez.Nota: é necessário chamar o ciclo de vida do super view antes de fazer qualquer material.
fonte
Swift 5.1
fonte
Swift 5.1
// Definir título da barra de navegação programaticamente e dinâmico
Nota: Primeiro adicione NavigationControllerItem ao Your, em
ViewController
seguida, vá para oViewController.swift
arquivo e basta copiar e colarviewDidLoad()
.navigationItem.title = "Your Title Here"
fonte