2011-03-25 23 views
5

Tengo 9 pestañas en mi barra de pestañas ... Y quiero cambiar el título de todas ellas desde algún controlador de vista. y lo hice de la siguiente manera:Cambie el título de UITabBarItem dinámicamente

for (int i=0; i(less than)[appDelegate.tabBarController.viewControllers count]; i++) { 
    UIViewController *uv=[appDelegate.tabBarController.viewControllers objectAtIndex:i]; 
    [email protected]"test"; 
} 

Cambia el título para todas las pestañas visibles al instante, pero no funciona para pestañas en más ...

Sin embargo, si hago clic en el botón de edición en más de navegación que muestra CNTRL nombre cambiado Además ... muy extraño ... Si selecciono alguna pestaña en más, todas las pestañas reflejan el nuevo nombre
¿por qué es así?

+0

gracias Matteo ... alguna idea al respecto ??? – saurabh

Respuesta

1

Es necesario cambiar el título de un UIBarItem (superclase de UITabBarItem) antes de que el elemento se agregue a una barra por cada documento Apple. Parece que iOS almacena en el caché los títulos una vez que los elementos se agregan a la barra, por lo que obtienes un comportamiento impredecible.

De la clase de referencia UIBarItem:

título
el título que aparece en el artículo.

@property (no atómica, copiar) NSString * title

Discusión
Debe establecer esta propiedad antes de añadir el artículo a un bar. El valor predeterminado es nulo.

+0

okyeee den whts d solution ???? en el caso ideal, no debería permitirme cambiar el nombre y si es den debe reflejar los cambios correctamente – saurabh

+0

Honestamente, no estoy seguro si puede hacer esto. Intentaría crear los UITabBarItems programáticamente. Puede anular el método 'tabBarItem' de cada controlador de vista para llamar a' [super tabBarItem] 'y luego establecer el título en el momento que desee. Sin embargo, no estoy seguro de que esto resuelva completamente el problema, ya que no puede modificar el tabBar administrado por un UITabBarController configurando sus elementos más adelante. ¿Qué intenta exactamente hacer (por ejemplo, por qué necesita cambiar los títulos de tabBarItem dinámicamente)? – XJones

+0

Quiero cambiar el idioma ..... también como dije en mi qst puedo cambiar el nombre pero la cuestión es que las pestañas cambian instantáneamente pero las pestañas en más controles de navegación cambian cuando selecciono algunas pestañas en la lista también los cambios son reflejado al instante en la vista de configuración – saurabh

Cuestiones relacionadas