2011-10-04 22 views
15

Estoy trabajando en una aplicación con un controlador de navegación. Sé cómo configurar el título cuando la vista se carga inicialmente. Empujo un nuevo controlador de vista y establezco su título. Ahora el problema es cuando presiono el botón Atrás, el título para el controlador de vista original ya no está allí. He intentado hacer ...
navigationTítulo del controlador

- (void)viewWillAppear:(BOOL)animated { 
    self.navigationController.title = @"Some Title"; 
} 

Esto no ha ajustado el título embargo. ¿Alguien sabe lo que puedo hacer?

+0

El título para el regulador original no se puede cambiar: | A menos que intencionalmente hagas algo con eso. publicar un código – Legolas

+0

¿No está configurando 'self.navigationController.title' en' nil' o '@" "' en otro lugar de su código? – EmptyStack

+1

Tengo 2 controladores de visualización ... digamos A y B respectivamente. Establecí el título de A en su método viewDidLoad. Luego, presiono B y establecí el título de B en algo diferente en su método viewDidLoad. Cuando presiono el botón Atrás en B, el controlador de vista de B aparece y aparece A sin título. –

Respuesta

36

El UINavigationController obtiene el valor del título del UIViewController actual.

Para establecer un título para un controlador de vista, sólo tiene que hacer lo siguiente:

- (void)viewDidLoad { 

    [super viewDidLoad]; 
    self.title = @"Some Title"; 
} 

Para cada uno de los controladores de Vista, incluyendo la raíz.

+0

Establecí el título para el controlador de vista en el generador de interfaz del guion gráfico. pero, eso no está funcionando! – hasan83

+0

Tenga cuidado al usar esto, si tiene un NavigationController embebido en un TabBarController, esto configurará el título de la pestaña y el título de la barra de navegación. use 'self.navigationItem setTitle' en su lugar –

9

Intente cambiar el título del elemento de navegación.

[self.navigationItem setTitle:@"Some Title"]; 
0

Intente configurar su título de esta manera.

self.navigationitem.title = @"My Title"; 
3

en Swift 3:

navigationItem.title = "Custom title" 

o si desea personalizar los detalles del título:

let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 30)) 
titleLabel.textColor = UIColor.red 
titleLabel.text = "Hello" 
titleLabel.textAlignment = .center 
titleLabel.backgroundColor = UIColor.green 
titleLabel.font = UIFont(name: "Baskerville-Bold", size: 20) 
navigationItem.titleView = titleLabel 
Cuestiones relacionadas