color bar ios uinavigationcontroller

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";