Implementar un status box en SwiftUI

| Última modificación: 24 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el desarrollo de aplicaciones móviles, es común encontrar la necesidad de mostrar información relevante en la barra de estado de una aplicación. En SwiftUI, el framework de interfaz de usuario de Apple, podemos implementar fácilmente un status box, que permite personalizar la apariencia y el contenido de la barra de estado de nuestra app.

En este artículo, exploraremos cómo crear y personalizar un status box en SwiftUI, para brindar a los desarrolladores una herramienta útil para mejorar la experiencia del usuario.

status box en SwiftUI

¿Qué es un status box?

Antes de conocer cómo implementar un status box en SwiftUI, veamos y entendamos el concepto.

Un status box es un componente que se encuentra en la barra de estado de una aplicación y muestra información relevante para el usuario. Esta información puede incluir el estado de la conexión de red, la batería restante o la hora actual, entre otros datos importantes. Al implementar un status box, podemos brindar a los usuarios una visión rápida y clara de la información que necesitan sin ocupar espacio adicional en la interfaz de usuario.

Cómo crear un status box en SwiftUI

Para implementar un status box en SwiftUI, necesitamos trabajar con la barra de estado y la navegación de vistas. Veamos los pasos necesarios para lograrlo:

Configurar la barra de estado

Antes de comenzar, es importante asegurarse de que la barra de estado está visible en la aplicación. Para ello, debemos asegurarnos de que la propiedad isStatusBarHidden está establecida en false en la vista principal de la aplicación.

//Status box en SwiftUI
struct ContentView: View {
    init() {
        UIApplication.shared.isStatusBarHidden = false
    }
    
    var body: some View {
        // Contenido de la vista principal
    }
}

Personalizar el estilo de la barra de estado

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

En SwiftUI, podemos cambiar el color y el estilo de la barra de estado utilizando el modificador statusBar(hidden:style:). Por ejemplo, si queremos establecer un color de fondo personalizado y un estilo claro para el contenido de la barra de estado, podemos hacer lo siguiente:

/Status box en SwiftUI
struct ContentView: View {
    init() {
        UIApplication.shared.isStatusBarHidden = false
    }
    
    var body: some View {
        // Contenido de la vista principal
    }
    
    func updateStatusBar() {
        UIApplication.shared.statusBarStyle = .lightContent
        UIApplication.shared.statusBarBackgroundColor = .blue
    }
}

Crear el status box

Ahora que hemos configurado la barra de estado, podemos implementar el status box en nuestra aplicación. Esto lo logramos al utilizar una vista personalizada y colocarla en la parte superior de la vista principal. Por ejemplo, podríamos usar un HStack para crear una barra con elementos de texto e iconos:

//Status box en SwiftUI
struct StatusBox: View {
    var body: some View {
        HStack {
            Image(systemName: "wifi")
            Text("Conectado")
            Spacer()
            Image(systemName: "battery.100")
            Text("100%")
        }
        .padding()
        .background(Color.gray)
        .foregroundColor(.white)
    }
}

struct ContentView: View {
    init() {
        UIApplication.shared.isStatusBarHidden = false
    }
    
    var body: some View {
        VStack {
            StatusBox()
            // Contenido de la vista principal
        }
    }
}

En este ejemplo, creamos un status box que muestra el estado de la conexión a internet y el nivel de batería. Utilizamos los iconos del sistema y los combinamos con texto para proporcionarle información clara al usuario.

Ajustar la jerarquía de vistas

Es importante tener en cuenta la jerarquía de vistas al implementar un status box. Si colocamos la vista del status box al principio de la jerarquía, estará por encima del resto del contenido de la aplicación. Sin embargo, si queremos que esté debajo de la barra de navegación, podemos utilizar un ZStack y ajustar los márgenes para asegurarnos de que el status box no se superponga a otros elementos.

//Status box en SwiftUI
struct ContentView: View {
    init() {
        UIApplication.shared.isStatusBarHidden = false
    }
    
    var body: some View {
        ZStack {
            NavigationView {
                // Contenido de la vista principal
            }
            .navigationBarTitle("Mi App")
            
            VStack {
                Spacer()
                StatusBox()
            }
        }
    }
}

¿Qué sigue?

La implementación de un status box en SwiftUI puede mejorar significativamente la experiencia del usuario al proporcionar información relevante en la barra de estado de una aplicación.

Si estás interesado en aprender más sobre el desarrollo de aplicaciones móviles y cómo utilizar SwiftUI para crear interfaces de usuario atractivas, te recomendamos el Desarrollo de Apps Móviles Full Stack Bootcamp. Aquí obtendrás todas las habilidades y los conocimientos necesarios para entrar en el sector IT en poco tiempo. ¡Entra ya mismo y descubre esta oportunidad de cambiar tu vida!

Jose Luis Bustos
Jose Luis Bustos

Lead Software Architect & Coordinador del Bootcamp en Desarrollo de Apps Móviles iOS & Android.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado