2010-03-25 12 views
5

En mi viewDidLoad que intento algo así, pero no su trabajo:cambio de posición del navigationItem.title


UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10,2,60,14)]; 
label.autoresizingMask = UIViewAutoresisingFlecibleWidth; 
[self.navigationController.navigationBar addSubview:label]; 


Quiero mostrar una etiqueta en la parte izquierda de mi navigationbar. O puede cambiar la posición navigationBar.title

Gracias,

Respuesta

16

Usted puede hacer establecer título de la vista del elemento de navegación a UILabel con la alineación del texto a la izquierda:

UILabel* lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,40,320,40)]; 
lbNavTitle.textAlignment = UITextAlignmentLeft; 
lbNavTitle.text = NSLocalizedString(@"Hello World!",@""); 
self.navigationItem.titleView = lbNavTitle; 
[lbNavTitle release]; 

Creado el título de este artículo forma también tolera botones de barra de navegación y no se superpone.

+0

¿Qué pasa si alguien está teniendo el derechoBarButton? Esto no funcionará, ¿verdad? – Manjunath

+0

¿por qué? parece que el elemento de navegación reduce automáticamente su vista de título si está presente el botón izquierdo o derecho. Este enfoque funciona para mí ... – Vladimir

+0

que también funciona para mí. O también puede probar [self.navigationcontroller.navigationBar.topItem setTitleView: yourlabel]; – ludo

Cuestiones relacionadas