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?
ios
iphone
view
uinavigationbar
Doug nulo
fuente
fuente
Versión Swift 3:
Si usa una barra de navegación sin controlador de navegación, puede probar esto:
navigationBar.topItem?.title = "Your Title"
Espero ayuda.
fuente
En viewDidLoad
self.title = @"Title";
fuente
De la documentación de Apple :
Entonces, si tiene un UINavigationController, todo lo que tiene que hacer para establecer 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
Muestra 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, consulte esta respuesta .
fuente
Escriba el siguiente código en
viewDidLoad
o puede ser mejor sería debajoinitWithNibName:
self.navigationItem.title = @"title";
Gracias.
fuente
También puedes usar 👇🏻
[self.navigationController.navigationBar.topItem setTitle:@"Titlet"];
fuente
Este código no me funcionó
self.navigationItem.title = @"Title here";
Pero esto funcionó.
self.title = "Title Name"
fuente
En la vista de su UIViewController
self.navigationItem.title = "The title"; //In swift 4
o
tu puedes sólo
self.title = "The title"
hará el truco
También puede poner la declaración anterior en el delegado de la aplicación para replicar globalmente.
fuente
Úselo 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";
fuente
nota muy importante: asegúrese de realizar los cambios mencionados anteriormente en la vista principal del método viewDidLoad del controlador o en la barra de navegación de los padres en el guión gráfico
fuente
A veces, es posible que tenga un caso en el que está actualizando el título y no está causando ningún efecto, esto puede ser cuando tiene una vista personalizada, por
topItem
lo que es posible que desee actualizarlo de esta manera:(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"
fuente