bar ios objective-c uiviewcontroller uinavigationitem backbarbuttonitem

ios - ¿Cambiar BackBarButtonItem para todos los UIViewControllers?



back button swift 4 (1)

Me gustaría cambiar el BackBarButtonItem en todas las vistas en mi aplicación iOS para que muestren solo la flecha hacia atrás sin texto.

¿Es la única forma de lograr esto pasar por cada UIViewController y establecer self.navigationItem.backBarButtonItem.title ? Parece que debería ser capaz de crear una superclase para definir el valor predeterminado de backBarButtonItem.title , pero no estoy seguro de por dónde empezar.

Gracias por tu ayuda.


No necesita cambiarlo en cada clase de controlador de vista. Puede sublcamarlo y cambiarlo una vez, o puede hacerlo en el delegado de su aplicación.

Si desea subclasificar la barra de navegación, puede configurar simplemente el botón Atrás con texto @ "":

UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; [[self navigationItem] setBackBarButtonItem:newBackButton];

Si quieres hacerlo en el delegado de la aplicación, puedes hacerlo de dos maneras:

Una forma es establecer el color del texto del botón como color claro:

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor clearColor]} forState:UIControlStateNormal];

Otra forma es ubicar el botón Atrás lejos de la pantalla, para que el usuario no pueda verlo

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -200) forBarMetrics:UIBarMetricsDefault];