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.

SwiftUI carga todas las vistas en TabView cuando aparece la primera pestaña.

Mi TabView se ve así:

var body: some View {
    TabView {
        TabView1()
            .tabItem() {
                Image("...")
                Text("...")
            }
            .onAppear { ??? }

        TabView2()
            .tabItem() {
                Image("...")
                Text("...")
            }
    }
    .onAppear { ??? }
}

Cuando ingreso a TabView, estaré en TabView1. Lo que quiero hacer es cargar el contenido dentro de TabView2 cuando esté en TabView1, para que el contenido en TabView2 esté preparado cuando haga clic y cambie a él.

Supongo que debo hacer algo en alguno de los métodos .onAppear, pero ¿exactamente qué debo hacer? ¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para cargar el contenido dentro de TabView2 cuando estás en TabView1, puedes utilizar el método .onAppear de TabView2, de la siguiente manera:

    TabView {
        TabView1()
            .tabItem() {
                Image("...")
                Text("...")
            }
    
        TabView2()
            .tabItem() {
                Image("...")
                Text("...")
            }
            .onAppear {
                // Carga el contenido para TabView2 aquí
            }
    }
    

    Al hacer esto, el contenido para TabView2 se cargará cuando cambies a él, en lugar de cuando TabView aparezca por primera vez. Esto puede ayudar a reducir el tiempo de carga y crear una experiencia de usuario más fluida.

Comments are closed.