Tengo una barra de navegación con un título. Cuando hago doble clic en el texto para cambiarle el nombre, en realidad dice que es un elemento de navegación, por lo que podría ser eso.
Estoy tratando de cambiar el texto usando código, como:
declare navigation bar as navagationbar here
button stuff {
navigationbar.text = "title"
}
Ese no es mi código, obviamente, solo muestra cómo funcionaría.
Entonces, cada vez que presiono el botón, quiero que cambie el título.
fuente
ViewController
refiere a la clase misma. Debe hacer referencia a una instancia deViewController
. Desde un método en su clase, comoviewDidLoad
, puede hacerlo usandoself
. Si no conoce la diferencia entre una clase y una instancia, le recomiendo que aprenda de qué se trata. Este artículo te ayudará.Pruebe lo siguiente en
viewDidLoad
fuente
El siguiente código me funciona con Xcode 7:
fuente
Encontré que esto funciona:
fuente
var customTitle = self.navigationController?.visibleViewController?.navigationItem customTitle?.title = "Some Title"
y también si intentas crear
Navigation Bar
manualmente este código te ayudaráfuente
Normalmente, la mejor práctica es establecer el título en
UIViewController
. Al hacer esto,UINavigationItem
también se establece. En general, esto es mejor que asignar e inicializar mediante programación un enlaceUINavigationBar
que no esté vinculado a nada.Te pierdes algunos de los beneficios y la funcionalidad para los que
UINavigationBar
fue diseñado. Aquí hay un enlace a la documentación que puede ayudarlo. Analiza las diferentes propiedades que puede establecer en la barra real y en aUINavigationItem
.Solo ten en cuenta:
UINavigationController
Son tus amigos.fuente
La respuesta correcta para las personas que usan swift4 sería
fuente
Swift 3
Creé una salida para el elemento de la barra de título de navegación que viene con la barra de navegación (desde el Explorador de objetos) en el guión gráfico. Luego demandé a la siguiente línea:
fuente
Si desea cambiar el título de un controlador de vista secundario de un Controlador de vista de página que está incrustado en un controlador de navegación, se vería así:
fuente
Si tiene un
NavigationController
incrustado dentro de unTabBarController
ver a continuación:Puede depurar problemas como este con scripts de depurador. Pruebe el
pvc
comando Chisel para imprimir cada vista visible / oculta en la jerarquía.fuente
En Swift 4:
Swift 4
Espero que ayude, saludos!
fuente
Prefiero usar
self.navigationItem.title = "Your Title Here"
overself.title = "Your Title Here"
para proporcionar el título en la barra de navegación, ya que la barra de pestañas también se usaself.title
para alterar su título. Deberías probar el siguiente código una vez.Nota: es necesario llamar al ciclo de vida Super View antes de hacer cualquier cosa.
fuente
Swift 5.1
fuente
Swift 5.1
// Establecer el título de la barra de navegación mediante programación y dinámica
Nota: Primero agregue NavigationControllerItem a Your
ViewController
luego vaya a suViewController.swift
archivo y simplemente copie y pegue estoviewDidLoad()
.navigationItem.title = "Your Title Here"
fuente