2009-06-06 6 views
16

¿Cuál es el propósito de la propiedad title de UIViewController, no se puede establecer el título con navigationItem.title?self.title vs self.navigationItem.title

Ambos parecen funcionar, solo me pregunto por qué hay esta funcionalidad aparentemente duplicada.

Respuesta

8

El título de un controlador de vista es una convención y una conveniencia para usted como programador. Llamando ...

self.title = @"Some Title"; 

o

[self setTitle:@"Some Title"]; 

asegura que cualquier objeto (como la barra de navegación) que necesita para recuperar el título de su controlador de vista puede hacerlo. Usar navigationItem.title le permitirá anular este título según sea necesario, pero se puede considerar más "elegante" para establecer el título de su controlador en su lugar.

OMI puede hacer cualquiera, pero el primero va a ahorrar algo de tecleo ;-)

Cheers-

7

Cuando establece navigationItem.title, está configurando el título de la barra de navegación en la parte superior de la vista. Esto es importante cuando presiona un nuevo controlador de vista porque el título de la vista anterior (según lo establecido en navigationItem.title) será el texto del botón Atrás. Además, si su proyecto no tiene una barra de navegación, navigationItem.title no funcionará.

Apple proporciona la siguiente descripción para la propiedad title de UIViewController.

Cadena localizada que representa la vista que este controlador maneja.

3

UIViewController tiene la propiedad título. en navigationItem y tabBarItem ambos anulan la propiedad del título. así que si tenemos una aplicación con tabbar y navigationcontroller, y establecer self.title = @ "somethng" establecerá ese título para navigationTitle y tabBartitle.

20

En un UIViewController, title y navigationItem.title son diferentes. Un ejemplo: si tiene un controlador de vista (en un NavigationController) en un UITabBarController, si establece self.title anula el nombre de la pestaña así como también el título superior. Si configura self.navigationItem.title, solo cambiará el título superior, sin cambiar el nombre de la barra de pestañas.

Cuestiones relacionadas