UN pequeño aporte
Como pueden notar, tenia este inconveniente a la hora de personalizar el color de la barra de navegación.
Indagando un poco entiendo que eso pasa solo en iOS 13+ y Xcode11.4+
ahora en varios foros de Apple. Encontré una solución (No es hecha por mi):
if #available(iOS 13.0, *) {
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithOpaqueBackground()
navBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
navBarAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
navBarAppearance.backgroundColor = UIColor.init(named: “GreenColor”)
navigationController?.navigationBar.standardAppearance = navBarAppearance
navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
}
Ahora analizando el código se puede entender:
- Realizo un if para comprobar si la version de iOS es la 13,
- Luego genero una instancia de la clase
UINavigationBarAppearance()
**(aquí mas sobre la documentación de la clase )
** - Con ese objeto declaro que el fondo sea opaco
- Agrego el color blanco al título en sus dos versiones _(large y normal) _
- Aplico el color que definimos con
UIColor.init(named: "GreenColor")
“GreenColor” es el nombre del set que creamos en el curso - Y aqui lo mas importante a nuestro
navigationController
mediante la propiedadstandardAppearance
yscrollEdgeAppearance
le asignamos el objeto que recien creamos y configuramos
Y eso seria, con eso queda corregido para las personas que tienen Xcode 11.4+ y iOS 13+
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.