Det viktigste om GeometryReader
Mål tilgjengelig plass for å dimensjonere innholdet.
Det viktigste om GeometryReader er en gratis leksjon i SwiftUI Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i SwiftUI Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i SwiftUI Academy inneholder totalt 4 leksjoner.
Måle plass
Noen ganger trenger en visning å vite hvor stor plassen den har fått, er. GeometryReader gir deg den nøyaktige størrelsen og plasseringen til området den opptar. 📐
Den er en container
En GeometryReader er en visning der body er en closure som mottar en proxy som beskriver den tilgjengelige plassen.
GeometryReader { proxy in
Text("Hi")
}Proxyen
Den parameteren til closure-en er en GeometryProxy. Den inneholder størrelsen, safe-area-innrykkene og rammen til leseren.
GeometryReader { proxy in
let w = proxy.size.width
Color.blue.frame(width: w)
}Lese størrelsen
Det vanligste grepet er proxy.size, en CGSize som gir Dem bredden og høyden De kan fylle.
GeometryReader { proxy in
Text("\(proxy.size.width)")
}Halvparten av bredden
Bruk den målte bredden til proporsjonert størrelsesangivelse, for eksempel når en stolpe skal være nøyaktig halvparten av den tilgjengelige bredden.
GeometryReader { proxy in
Color.green
.frame(width: proxy.size.width / 2)
}Den fylles som standard
En GeometryReader tar grådig all plassen forelderen tilbyr, slik at underordnede visninger plasseres øverst til venstre med mindre De sentrerer dem.
Sentrere innhold
Ettersom innholdet forankres øverst til venstre, kan De pakke det inn eller legge til en frame med justering for å sentrere underordnede visninger i leseren.
GeometryReader { proxy in
Text("Center")
.frame(width: proxy.size.width,
height: proxy.size.height)
}Globale koordinater
Be om en visningsposisjon i vinduet med proxy.frame(in: .global), noe som er nyttig for rulleeffekter og overlegg.
let f = proxy.frame(in: .global)
Text("\(f.minY)")Innfellinger i det sikre området
Proxyen eksponerer også safeAreaInsets, slik at De kan ta hensyn til hakk og hjemindikatorer i egendefinerte oppsett.
let top = proxy.safeAreaInsets.topBruk med måte
En GeometryReader endrer oppførselen til oppsettet, så bruk den bare når De faktisk trenger målinger, ikke som en standardinnpakning. ⚠️
Rullestyrte effekter
Kombinert med en ScrollView kan De lese rammen til hvert element og lage parallakse- og uttoningseffekter knyttet til rulleposisjonen.
Hurtigsjekk
Husk hva lukkingen gir Dem.
Oppsummering
De kan nå lese tilgjengelig plass med GeometryReader, angi størrelsen proporsjonalt og lese rammer for rullebevisste effekter. 🎉
Lær deg Swift med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Det viktigste om GeometryReader» gratis?
Ja – hele teksten i «Det viktigste om GeometryReader» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av SwiftUI Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i SwiftUI Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Det viktigste om GeometryReader»?
Mål tilgjengelig plass for å dimensjonere innholdet. Du øver på SwiftUI Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med SwiftUI Academy?
Ingen tidligere erfaring er nødvendig. SwiftUI Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Det viktigste om GeometryReader»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne SwiftUI Academy-leksjonen?
Ja. Alle SwiftUI Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Det viktigste om GeometryReader
- Egendefinerte justeringsguider
- Layout-protokollen
- Bygge et Flow-layout