SwiftUI Academy · leksjon

Det viktigste om GeometryReader

Mål tilgjengelig plass for å dimensjonere innholdet.

Leksjon 1 av 413 trinn

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.top

Bruk 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. 🎉

Gratis å komme i gang

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

  1. Det viktigste om GeometryReader
  2. Egendefinerte justeringsguider
  3. Layout-protokollen
  4. Bygge et Flow-layout
← Tilbake til SwiftUI Academy