Estoy tratando de cambiar la flecha del botón de retroceso
Actualmente estoy usando lo siguiente para controlar el tamaño del texto, así como el color del texto en el botón Atrás:
[[UIBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont,
[UIColor darkGrayColor], UITextAttributeTextShadowColor,
[NSValue valueWithCGSize:CGSizeMake(0.0, -1.0)], UITextAttributeTextShadowOffset,
nil] forState:UIControlStateNormal];
pero si solo quiero cambiar el color de la flecha para el botón Atrás, ¿qué debo hacer?
UINavigationBar
ha cambiado desde iOS 7. Eche un vistazo a la Respuesta para ver el efecto de algunas otras Propiedades también.Respuestas:
Para cambiar el color del botón Atrás del galón para un controlador de navegación específico *:
* Si está utilizando una aplicación con más de 1 controlador de navegación, y desea que este color de cheurón se aplique a cada uno, puede usar el proxy de apariencia para configurar el botón de retroceso para cada controlador de navegación, de la siguiente manera:
Y por si acaso, en forma rápida (gracias a Jay Mayu en los comentarios):
fuente
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
Debe configurar el tintColor de toda la aplicación.
O en Swift 3:
Fuente: Guía de transición de la interfaz de usuario de iOS 7
fuente
UITextField
. Definitivamente no recomendado.Puede configurar el color en toda la barra de navegación de la aplicación utilizando el método
fuente
Es posible cambiar solo el color de la flecha (no el color del título del botón de retroceso) de esta manera:
La barra de navegación contiene una subvista del tipo _UINavigationBarBackIndicatorView (último elemento en la matriz de subvistas) que representa la flecha.
El resultado es una barra de navegación con diferentes colores de flecha de botón de retroceso y título de botón de retroceso
fuente
self.navigationController.navigationBar.subviews
hasta que se encuentre el botón Atrás.Si está utilizando guiones gráficos, puede establecer el color de tinte de la barra de navegación.
fuente
Dentro del rootViewController que inicializa el navigationController, pongo este código dentro de mi método viewDidAppear:
fuente
En iOS 6, tintColor teñía el fondo de las barras de navegación, barras de pestañas, barras de herramientas, barras de búsqueda y barras de alcance. Para teñir un fondo de barra en iOS 7, use la propiedad barTintColor en su lugar.
Recursos de diseño de iOS 7 iOS 7 Guía de transición de la interfaz de usuario
fuente
Puede establecer la
tintColor
propiedad en el botón (o elemento de botón de barra) o en la vista del controlador de vista. Por defecto, la propiedad heredará el tinte de la vista principal, hasta el nivel superiorUIWindow
de su aplicación.fuente
Tuve que usar ambos:
Y funciona para mí, ¡gracias por todos!
fuente
fuente
Actualizar Swift 3
Resultado:
fuente
Solo para cambiar el
NavigationBar
color, puede establecer el color del tinte como se muestra a continuación.fuente
En caso de que esté haciendo un botón de retroceso personalizado basado en UIButton con imagen de flecha, aquí está el fragmento de subclase. Al usarlo, puede crear un botón en el código o simplemente asignar una clase en Interface Builder a cualquier UIButton. La imagen de la flecha hacia atrás se agregará automáticamente y se coloreará con color de texto.
fuente
Si desea cambiar solo la flecha hacia atrás PERO en toda la aplicación, haga lo siguiente:
fuente
En iOS 7, puede poner la siguiente línea de código dentro
application:didFinishLaunchingWithOptions:
de suAppDelegate.m
archivo:Establezca
myColor
el color que desea que tenga el botón Atrás en toda la aplicación. No es necesario ponerlo en cada archivo.fuente
Swift 2.0: barra de navegación para colorear y botones
fuente
En Swift 3, para cambiar el color de la flecha del botón Atrás UIBarButton
fuente