Programación en Swift y SwiftUI para iOS Developers

Como cambiar el color de la fuente de la barra de navegación en SwiftUI

La versión actual de SwiftUI aún no admite todo tipo de personalización de forma nativa. Por ejemplo, para cambiar el color de fuente del título de la barra de navegación, debemos usar UIKit.

Vamos a ver como podemos implementar esta personalización. En este ejemplo, vamos a abrir nuestro fichero MyNewApp.swift en Xcode

y vamos a insertar el siguiente método:

init() {
        let navBarAppearance = UINavigationBarAppearance()
        navBarAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.systemRed, .font: UIFont(name: "ArialRoundedMTBold", size: 35)!]
        navBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.systemRed, .font: UIFont(name: "ArialRoundedMTBold", size: 20)!]
        navBarAppearance.backgroundColor = .clear
        navBarAppearance.backgroundEffect = .none
        navBarAppearance.shadowColor = .clear
        
        UINavigationBar.appearance().standardAppearance = navBarAppearance
        UINavigationBar.appearance().scrollEdgeAppearance = navBarAppearance
        UINavigationBar.appearance().compactAppearance = navBarAppearance
    }

Con este método init(), la aplicación ejecutará el código de personalización al iniciarse.

Para personalizar la fuente y el color de la barra de navegación, creamos una instancia de UINavigationBarAppearance y configuramos la fuente y el color de fondo que prefiramos. Una vez configurado el objeto de apariencia, lo asignamos a las propiedades standardAppearance, compactAppearance y scrollEdgeAppearance de UINavigation. Así es como puedes personalizar una barra de navegación en tus proyectos de SwiftUI.

El resultado en Xcode con el color de la fuente de la barra de navegación cambiado, sería el siguiente:

Si tienes cualquier duda sobre este artículo, contacta conmigo y estaré encantado de ayudarte 🙂. Puedes contactar conmigo en mi perfil de X o en mi perfil de Instagram.

Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Article

Como añadir una fuente personalizada en Xcode en Swift

Next Article

Que son las Extensiones en Swift y como usarlas

Related Posts