SwiftUI Academy · Lezione

ScrollView Reader e anchor

Scorra programmaticamente fino a elementi specifici.

Lezione 4 di 413 passaggi

ScrollView Reader e anchor è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SwiftUI Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SwiftUI Academy include 4 lezioni in totale.

Passare direttamente al contenuto

A volte è necessario scorrere fino a un elemento specifico nel codice, ad esempio con un pulsante Torna all'inizio. ScrollViewReader lo rende possibile. 🎯

Avvolgere lo ScrollView

Inserisca ScrollViewReader intorno allo ScrollView: le fornirà un proxy da usare per controllare lo scorrimento.

ScrollViewReader { proxy in
    ScrollView {
        Content()
    }
}

Assegnare un tag a ogni elemento

Assegni agli elementi scorrevoli un id univoco, così il reader saprà esattamente dove saltare quando glielo chiede.

ForEach(items) { item in
    Row(item).id(item.id)
}

Chiamare scrollTo

Il proxy ha un metodo fondamentale: scrollTo. Passi un id e lo ScrollView porterà quell'elemento nell'area visibile.

proxy.scrollTo(42)

Animare il salto

Inserisca la chiamata in withAnimation, così lo scorrimento sarà fluido invece di saltare istantaneamente alla destinazione.

withAnimation {
    proxy.scrollTo(42)
}

Ancorare la posizione

L'argomento anchor decide dove verrà posizionato l'elemento: .top lo fissa in alto, .center al centro.

proxy.scrollTo(42, anchor: .top)

Pulsante Torna all'inizio

Un modello comune consiste in un pulsante che chiama scrollTo sull'id del primo elemento, riportando rapidamente l'utente in cima.

Button("Top") {
    proxy.scrollTo(firstID, anchor: .top)
}

Saltare all'apparizione

Chiami scrollTo all'interno di onAppear per aprire una lista lunga già posizionata sulla riga più recente non letta dall'utente.

.onAppear {
    proxy.scrollTo(lastReadID)
}

Gli ID devono corrispondere

Se scrollTo non produce alcun effetto, verifichi che l'id passato corrisponda esattamente a un id assegnato a un elemento visibile.

Abbinarlo a State

Attivi lo scorrimento modificando uno @State, ad esempio quando viene selezionato un risultato di ricerca, per guidare automaticamente l'utente.

onChange(of: selected) { id in
    proxy.scrollTo(id)
}

Navigazione senza sforzo

Con ScrollViewReader e gli anchors, le schermate lunghe diventano facili e piacevoli da navigare invece di richiedere uno scorrimento interminabile. ✨

Verifica rapida

Pensi a come spostarti fino a una riga specifica.

Riepilogo

Ha imparato a usare ScrollViewReader, ad assegnare gli id agli elementi e a chiamare scrollTo con gli anchor per raggiungere qualsiasi punto del codice. 🎉

Gratis per iniziare

Impara Swift con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «ScrollView Reader e anchor» è gratuita?

Sì — il testo completo di «ScrollView Reader e anchor» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SwiftUI Academy, passa a CoddyKit PRO. Il corso SwiftUI Academy include 4 lezioni in totale.

Cosa imparerò in «ScrollView Reader e anchor»?

Scorra programmaticamente fino a elementi specifici. Eserciti SwiftUI Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare SwiftUI Academy?

Non è richiesta alcuna esperienza precedente. SwiftUI Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «ScrollView Reader e anchor»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione SwiftUI Academy?

Sì. Ogni lezione SwiftUI Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. ScrollView orizzontale e verticale
  2. LazyVStack e LazyHStack
  3. Griglie adattive con LazyVGrid
  4. ScrollView Reader e anchor
← Torna a SwiftUI Academy