0Pricing
SwiftUI Academy · Lezione

Elementi fondamentali di GeometryReader

Misuri lo spazio disponibile per dimensionare i contenuti.

Elementi fondamentali di GeometryReader è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 1 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.

Measuring Space

Sometimes a view needs to know how big its slot is. GeometryReader hands you the exact size and position of the space it occupies. 📐

It Is a Container

A GeometryReader is a view whose body is a closure receiving a proxy that describes the available space.

GeometryReader { proxy in
    Text("Hi")
}

The Proxy

That closure parameter is a GeometryProxy. It carries the size, safe-area insets, and frame of the reader.

GeometryReader { proxy in
    let w = proxy.size.width
    Color.blue.frame(width: w)
}

Reading the Size

The most common move is proxy.size, a CGSize giving you the width and height you can fill.

GeometryReader { proxy in
    Text("\(proxy.size.width)")
}

Half the Width

Use the measured width for proportional sizing, like making a bar exactly half of the available width.

GeometryReader { proxy in
    Color.green
        .frame(width: proxy.size.width / 2)
}

It Fills by Default

A GeometryReader greedily takes all the space its parent offers, so its children align to the top-left unless you center them.

Centering Content

Because content pins top-left, wrap it or add a frame with alignment to center children inside the reader.

GeometryReader { proxy in
    Text("Center")
        .frame(width: proxy.size.width,
               height: proxy.size.height)
}

Global Coordinates

Ask for a view position in the window with proxy.frame(in: .global), handy for scroll effects and overlays.

let f = proxy.frame(in: .global)
Text("\(f.minY)")

Safe Area Insets

The proxy also exposes safeAreaInsets, so you can respect notches and home indicators in custom layouts.

let top = proxy.safeAreaInsets.top

Use It Sparingly

A GeometryReader changes layout behavior, so reach for it only when you truly need measurements, not as a default wrapper. ⚠️

Scroll-Driven Effects

Combined with a ScrollView, reading each item frame lets you build parallax and fade effects tied to scroll position.

Quick Check

Recall what the closure hands you.

Recap

You can now read available space with GeometryReader, size views proportionally, and read frames for scroll-aware effects. 🎉

Domande Frequenti

La lezione «Elementi fondamentali di GeometryReader» è gratuita?

Sì — il testo completo di «Elementi fondamentali di GeometryReader» è 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 «Elementi fondamentali di GeometryReader»?

Misuri lo spazio disponibile per dimensionare i contenuti. 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 1 di 4.

Quanto tempo richiede la lezione «Elementi fondamentali di GeometryReader»?

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. Elementi fondamentali di GeometryReader
  2. Guide di allineamento personalizzate
  3. Il protocollo Layout
  4. Creare un layout Flow
← Torna a SwiftUI Academy