ios - programacion - ¿Cómo configurar el título de una barra de navegación mediante programación?
curso completo de bootstrap desde cero 1 (10)
Tengo una barra de navegación en una vista y quiero cambiar el título del elemento de navegación mediante programación.
¿Cómo se hace esto?
Úsalo en el método ViewDidLoad
Formato :
@property(nonatomic,readonly,retain) UINavigationItem *navigationItem; // Created on-demand so that a view controller may customize its navigation appearance.
Ejemplo:
self.navigationItem.title = @"Title here";
A veces, puede obtener un caso en el que está actualizando el título y no está causando ningún efecto, esto puede ocurrir cuando tiene una vista personalizada en el elemento topItem
por lo tanto, es posible que desee actualizarlo así: (self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"
De la documentación de Apple :
La forma más común de usar una barra de navegación es con un controlador de navegación. También puede usar una barra de navegación como un objeto independiente en su aplicación.
Por lo tanto, si tiene un UINavigationController, todo lo que debe hacer para configurar el título de la barra de navegación (como se explica en todas las respuestas anteriores)
self.navigationItem.title = @"title";
Pero si tiene una barra de navegación independiente que se crea mediante programación dentro de un objeto de UIViewController, debe establecer la apariencia inicial de la barra de navegación creando los objetos UINavigationItem apropiados y agregándolos a la pila de objetos de la barra de navegación, es decir
- Crear una instancia de la barra de navegación (UINavigationBar)
- Cree una instancia del elemento de la barra de navegación (UINavigationItem) que administra los botones y las vistas que se mostrarán en un objeto UINavigationBar. Tenga en cuenta que establece el título en este paso.
- (Paso opcional) Agregue los botones derecha / izquierda (instancias de UIBarButtonItem) al elemento de la barra de navegación.
Ejemplo de Código Objective-C para los pasos mencionados:
UINavigationBar* navbar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)];
/* Create navigation item object & set the title of navigation bar. */
UINavigationItem* navItem = [[UINavigationItem alloc] initWithTitle:self.shoppingItem.name];
/* Create left button item. */
UIBarButtonItem* cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(onTapCancel:)];
navItem.leftBarButtonItem = cancelBtn;
/* Create left button item. */
UIBarButtonItem* doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onTapDone:)];
navItem.rightBarButtonItem = doneBtn;
/* Assign the navigation item to the navigation bar.*/
[navbar setItems:@[navItem]];
/* add navigation bar to the root view.*/
[self.view addSubview:navbar];
Para la versión Swift de la barra de navegación independiente, revisa esta respuesta .
En tu UIViewController
self.navigationItem.title = @"The title";
En viewDidLoad
self.title = @"Title";
Escriba el siguiente código en viewDidLoad
o puede que sea mejor en initWithNibName:
self.navigationItem.title = @"title";
Gracias.
Este código no me funcionó
self.navigationItem.title = @"Title here";
Pero esto funcionó.
self.title = "Title Name"
Versión Swift 3:
Si usa una barra de navegación sin el controlador de navegación, puede intentar esto:
navigationBar.topItem?.title = "Your Title"
Esperanza de ayuda.
nota muy importante: asegúrese de realizar los cambios mencionados anteriormente en el método viewDidLoad del controlador de la vista principal o en la barra de navegación de los padres en el guión gráfico
You can also use 👇🏻
[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];