Pregunta UINavigationBar - ¿Establecer título programáticamente? iPhone SDK 4


Tengo una aplicación de barra de pestañas con una vista diferente en cada pestaña. Cada vista tiene una UINavigationBar con el título establecido en Interface Builder. Estoy queriendo cambiar el título basado en una cláusula en el método ViewDidLoad, así que si x {cambia el título}.

Yo he tratado self.title = @"title" , que leo aquí en Stackoverflow, pero esto cambia el título del elemento de la barra de pestañas.

Entonces, ¿cómo se hace esto?


73
2017-09-09 21:45


origen


Respuestas:


Establecí el título programáticamente usando un código como este:

navBar.topItem.title = @"title";

donde navBar se declara como IBOutlet UINavigationBar vinculado a la barra de navegación en el constructor de interfaz. Esto funcionó en mi aplicación; sin embargo, no estaba usando una barra de pestañas.

Si navBar.topItem es el elemento de la barra de pestañas, no veo la forma de cambiar el título que aparece en la barra de navegación sin cambiar también el título en el elemento de la barra de pestañas, ya que el elemento top de navBar y el elemento de la barra de pestañas el mismo objeto


191
2017-09-09 22:10



Utilizar

self.navigationItem.title = @"the title";

como escenario navBar.topItem.title no funcionará en todas las circunstancias.


65
2017-09-12 22:36



Utilizar esta :

    CGRect navBarFrame = CGRectMake(0, 0, self.tableView.frame.size.width, 44.0);
    UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:navBarFrame];

    UINavigationItem *navItem = [UINavigationItem alloc];
    navItem.title = @"Your Title";

    [navBar pushNavigationItem:navItem animated:false];

[self.view addSubView:navBar]; 

o

self.tableView.tableHeaderView = navBar; etc

25
2018-02-14 18:55



Si la clase es un tipo de UIViewController, puede establecer el título como se indica en el método viewDidLoad.

    [self setTitle:@"My Title"];

11
2017-10-18 09:27



Crear IBOutlet de UINavigationBar

navigationBar.topItem.title = @"Title";

Espero que esto ayude.


6
2018-03-22 10:35



En ViewDidLoad de su ViewController.m solo escriba,

self.navigationItem.title=@"Hello World";

Aquí está la salida:

enter image description here


4
2017-11-08 06:54



Usé lo siguiente:

self.navigationController.navigationBar.topItem.title = @"Title";

Sin embargo, también tuve que llamarlo en un bloque de envío ya que no cambiaría el título cuando se llama dentro de viewDidLoad sin él.


2
2018-02-16 03:32



Tenga en cuenta que para que el título se muestre ATENCIÓN, el delegado del controlador de navegación DEBE establecerse en la barra de navegación o el título NUNCA se mostrará.


2
2018-04-18 02:18



También puede establecer el título en ViewDidLoad en su ViewController o TableViewController utilizando

_title = @"Title";

o

self.title = @"Title";

1
2017-09-28 18:30



Prueba esto,

self.navigationItem.title = @"Your title";

0
2018-01-11 06:09