[SUI] ScrollView

Cuando el contenido de la vista supera el tamaño de la pantalla, es necesario hacerlo desplazable (“scrollable”), para lo cual se envuelve la vista en un ScrollView.

ScrollView solo hace que el contenido se pueda desplazar en la pantalla. Para agrupar vistas igual es necesario usar un Stack vertical u horizontal. No obstante, esto no necesariamente significa que hay que usar un VStack o un HStack, sino que se puede optar por sus versiones perezosas: LazyVStack y LazyHStack, respectivamente.

struct ContentView: View {
  var body: some View {
    ScrollView {
      LazyVStack(pinnedViews: .sectionHeaders) {
        Section {
          ForEach(1..<100) { number in
            Text("Número: (number)")
          }
        } header: {
          Text("Primera seccion")
            .background(.red)
        }
        Section {
          ForEach(100..<200) { number in
            Text("Número: (number)")
          }
        } header: {
          Text("Segunda seccion")
            .background(.yellow)
        }
      }
    }
    // ⚠️ Para ocultar el indicador de desplazamiento se usa este modificador
    .scrollIndicators(.hidden)
  }
}

Si no se pasa ningún argumento pinnedViews al LazyVStack, entonces no va a anclar los encabezados de las secciones:

struct ContentView: View {
  var body: some View {
    ScrollView {
      LazyVStack {
        // ...
      }
    }
  }
}

Modificadores

Total
0
Shares
Leave a Reply

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

Previous Post

[Memoria] Almacenamiento de Class y Struct

Related Posts