ios - bar - UINavigationController cómo configurar el título
swift 4 navigation bar title color (5)
Rápido
title = "whateverTitle"
. Es una propiedad de instancia UIViewController
; invocar en cualquier momento.
De la documentation :
Declaración
var title: String? { get set }
Discusión
Establezca el título en una cadena legible por humanos que describa la vista. Si el controlador de vista tiene un elemento de navegación válido o un elemento de la barra de pestañas, la asignación de un valor a esta propiedad actualiza el texto del título de esos objetos.
Tengo un Controlador / Vista para una lista genérica de elementos, que puede extenderse para mostrar una lista personalizada. El listado y la navegación funcionan bien ... pero no puedo cambiar el título de UINavigationController. En el controlador genérico:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview: navigationController.view];
}
- (void)setNavigationTitle: (NSString *)title
{
NSLog(@"set title: %@", title); // this works
self.navigationController.title = title; // Nothing works here
}
Entonces, la clase extendida hace ...
- (void)viewDidLoad
{
[super viewDidLoad];
[self setNavigationTitle: @"Custom list"];
}
La barra de navegación todavía tiene "Elemento" como título :(
En su UIViewController
hay una propiedad de title
y es esa propiedad la que mostrará NavigationController
. Entonces, al UIViewController
un nuevo UIViewController
en la pila de navegación, configure el título de ese UIViewController
como corresponda.
En tu caso parece que sería:
[self setTitle:@"WhateverTitle"];
Para aquellos que buscan una solución Swift:
class CustomViewController: SuperViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.title = "My Custom Title"
}
}
El title
debe establecerse en UIViewController
y no en UINavigationController
incrusta el controlador de vista.
Documentación: UIViewController
Referencia de clase: title
Propiedad
Sé que su hilo anterior, pero pensé en compartir esto. Ponga el método ''self.title'' in ''init'' en la clase derivada de UIVIewControler, ¡Esto me funcionó!
utilizar
self.title = @"yourTitle";