Guide di allineamento personalizzate
Allinei con precisione le viste nella gerarchia.
Guide di allineamento personalizzate è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 2 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.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Lining Things Up
Stacks align children using a shared edge or center. Alignment guides let you fine-tune exactly where that line falls. 📏
Built-in Alignments
An HStack takes a vertical alignment like .top or .center, while a VStack takes a horizontal one.
HStack(alignment: .top) {
Text("A")
Text("Big")
}The alignmentGuide Modifier
The alignmentGuide modifier overrides where a single view exposes a given alignment to its parent.
Text("Hi")
.alignmentGuide(.top) { d in d[.bottom] }Reading Dimensions
The closure gets a ViewDimensions value, letting you read d.width, d.height, or any named guide.
Text("Hi").alignmentGuide(.leading) { d in
d.width / 2
}Shift the Guide
Returning a different number moves the view relative to its peers, since the parent lines up everyone on that returned value.
Custom Alignment ID
For reuse, define a type conforming to AlignmentID with a defaultValue for unaligned cases.
struct MidBadge: AlignmentID {
static func defaultValue(in d: ViewDimensions) -> CGFloat {
d[.bottom]
}
}Name It on Alignment
Extend VerticalAlignment or HorizontalAlignment with a static property bound to your AlignmentID.
extension VerticalAlignment {
static let midBadge = VerticalAlignment(MidBadge.self)
}Use the Custom Line
Pass your named alignment to a stack, then tag the views that should snap to that custom line.
HStack(alignment: .midBadge) {
Avatar()
Label()
}Tag the Participants
Each view that should share the line sets alignmentGuide for your custom alignment to the point it wants to match.
Label()
.alignmentGuide(.midBadge) { d in
d[VerticalAlignment.center]
}Cross-Hierarchy Power
Custom guides shine when views live in different containers but must still align, like a caption to an icon center across columns. ✨
Mind the Default
Any view that does not set your custom guide falls back to its defaultValue, so pick that default thoughtfully.
Quick Check
Recall what the alignmentGuide closure receives.
Recap
You can now override alignment with alignmentGuide and define custom AlignmentID types to align views across the hierarchy. 🎉
Domande Frequenti
La lezione «Guide di allineamento personalizzate» è gratuita?
Sì — il testo completo di «Guide di allineamento personalizzate» è 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 «Guide di allineamento personalizzate»?
Allinei con precisione le viste nella gerarchia. 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 2 di 4.
Quanto tempo richiede la lezione «Guide di allineamento personalizzate»?
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
- Elementi fondamentali di GeometryReader
- Guide di allineamento personalizzate
- Il protocollo Layout
- Creare un layout Flow