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];