es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Barra invisible de Swiftui en la parte superior de la pantalla.

Tengo el siguiente problema.
Si intento darle un color a una vista (por ejemplo Color.red)
Obtengo la siguiente salida:

Puedo simplemente agregar .edgesignoressafearea(.top) y la parte superior también se pone roja. Pero cuando quiero agregar un elemento cliqueable, el usuario no podrá hacer clic en él ya que aún hay una barra invisible en la parte superior de la pantalla. ¿Alguien sabe cuál es mi problema? El problema está en todas las vistas tabulables (Línea de tiempo, Favoritos, Descubrir, Cuenta). Entonces debe estar en el primer código o en la vista de pestaña (segundo código) que envío en esta publicación.

Cuando el usuario hace clic en la aplicación, primero obtienen esta vista que lo envía a la vista de inicio de sesión o a la propia aplicación:

var body: some View {
NavigationView {
VStack {
NavigationLink(destination: tabView().navigationBarHidden(true), isActive: $tabview, label: { EmptyView() })
NavigationLink(destination: loginView().navigationBarHidden(true), isActive: $login, label: { EmptyView() })

        if tabview == false && login == false {
            Text("cargando")
                .onAppear(perform: checklogin)
        }
    }
    .navigationBarBackButtonHidden(true)
    .navigationBarHidden(true)
}

}

Luego, la aplicación los envía a la vista de pestañas:

var body: some View {
TabView(selection: $selection) {
Timeline()
.tabItem {
Label(“línea de tiempo”, systemImage: “house”)
}
.tag(0)

    Favoritos()
        .tabItem {
            Label("favoritos", systemImage: "heart")
        }
        .tag(1)

    Descubrir()
        .tabItem {
            Label("descubrir", systemImage: "network")
        }
        .tag(2)

    Cuenta()
        .tabItem {
            Label("cuenta", systemImage: "person")
        }
        .tag(3)
}
.navigationBarBackButtonHidden(true)
.navigationBarHidden(true)

}

El problema ocurre en todas estas vistas.
Esta es la vista donde hice la captura de pantalla:

var body: some View {
ZStack {
Color.red
Text(“¡Hola favoritos!”)
}
.navigationBarBackButtonHidden(true)
.navigationBarHidden(true)
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema es causado por la NavigationView en el primer código. La NavigationView agrega un safeArea a la vista, lo que está causando que aparezca la barra blanca. Para solucionar esto, puedes agregar .edgesIgnoreSafeArea(.top) a la NavigationView en el primer código. Esto hará que el safeArea no aparezca en la parte superior de la vista, y la barra blanca debería desaparecer.

Comments are closed.