guidelines color bar iphone uinavigationbar xcode4

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



navigation bar ios swift 4 (10)

Crear IBOutlet de UINavigationBar

navigationBar.topItem.title = @"Title";

Espero que esto ayude.

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}.

He intentado 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?


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


Prueba esto,

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


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


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

_title = @"Title";

o

self.title = @"Title";


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á.


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.


Utilizar

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

como configuración navBar.topItem.title no funcionará en todas las circunstancias.


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


En ViewDidLoad de su ViewController.m solo escriba,

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

Aquí está la salida: