LazyVStack et LazyHStack
Affichez les contenus volumineux à la demande pour de meilleures performances.
LazyVStack et LazyHStack est une leçon SwiftUI Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SwiftUI Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SwiftUI Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
The Eager Problem
A regular VStack builds every child at once. With hundreds of rows, that eager work can stutter and waste memory.
Meet LazyVStack
A LazyVStack only creates rows as they scroll into view, keeping huge lists fast and light. ⚡
LazyVStack {
ForEach(items) { item in
Row(item)
}
}Lazy Needs Scrolling
Always place a LazyVStack inside a ScrollView, since lazy loading only pays off when content scrolls offscreen.
ScrollView {
LazyVStack {
ForEach(items) { Row($0) }
}
}The Horizontal Twin
A LazyHStack does the same trick sideways, perfect for long, swipeable rows of cards or thumbnails.
ScrollView(.horizontal) {
LazyHStack {
ForEach(photos) { Thumb($0) }
}
}Same Spacing API
Lazy stacks accept the same spacing and alignment options as their eager cousins, so your layout code barely changes.
LazyVStack(alignment: .leading, spacing: 12) {
ForEach(items) { Row($0) }
}Cells Get Reused
As rows leave the screen, a LazyVStack can discard them, so memory stays steady even with thousands of items.
Lazy vs List
A List is lazy too, but a LazyVStack gives you styling freedom with no built-in separators or insets.
Pinned Headers
Lazy stacks support pinnedViews, letting section headers stick to the top as you scroll, like a contacts app.
LazyVStack(pinnedViews: [.sectionHeaders]) {
Section(header: Header()) {
Rows()
}
}When to Stay Eager
For a handful of items a plain VStack is simpler. Reach for lazy only when the list grows long.
Watch the Scroll
You will not see new LazyVStack rows being built, but Instruments shows they appear just in time as you scroll.
Scale with Confidence
With lazy stacks you can show endless feeds, galleries, and timelines without ever worrying about performance. ✨
Quick Check
Think about why lazy stacks exist.
Recap
You met LazyVStack and LazyHStack: stacks that create children on demand inside a ScrollView for smooth, large layouts. 🎉
Questions Fréquemment Posées
La leçon « LazyVStack et LazyHStack » est-elle gratuite ?
Oui — le texte complet de « LazyVStack et LazyHStack » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SwiftUI Academy, passe à CoddyKit PRO. Le cours SwiftUI Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « LazyVStack et LazyHStack » ?
Affichez les contenus volumineux à la demande pour de meilleures performances. Tu pratiques SwiftUI Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer SwiftUI Academy ?
Aucune expérience préalable n'est requise. SwiftUI Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « LazyVStack et LazyHStack » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon SwiftUI Academy ?
Oui. Chaque leçon SwiftUI Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- ScrollView horizontale et verticale
- LazyVStack et LazyHStack
- Grilles adaptatives avec LazyVGrid
- Lecteur de ScrollView et ancres