0Pricing
Swift Academy · Lektion

GeometryReader für adaptive Layouts

Lesen Sie die Geometrie des übergeordneten Elements aus, um proportionale und geräteadaptive UIs zu erstellen.

GeometryReader für adaptive Layouts ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

`GeometryReader` liest die verfügbare Größe vom übergeordneten Element aus. So können Sie Layouts erstellen, deren Abmessungen proportional zur Bildschirm- oder Containergröße sind.

Grundlegende Verwendung

```swift GeometryReader { geo in Text("Width: \(Int(geo.size.width))") .frame(width: geo.size.width * 0.8) } ```

Eigenschaften von GeometryProxy

`GeometryProxy` stellt Folgendes bereit: • `size: CGSize` — verfügbare Breite und Höhe • `safeAreaInsets: EdgeInsets` — sicherer Bereich des Systems • `frame(in:)` — Rahmen in einem bestimmten Koordinatenraum

Proportionale Größen

```swift GeometryReader { geo in HStack(spacing: 0) { Color.blue.frame(width: geo.size.width * 0.6) Color.green } } ```

Koordinatenräume

```swift GeometryReader { outer in VStack { GeometryReader { inner in let f = inner.frame(in: .named("outer")) Text("y: \(Int(f.minY))") } } } .coordinateSpace(name: "outer") ```

Sicherer Bereich

```swift GeometryReader { geo in VStack { Spacer() Text("Bottom safe: \(Int(geo.safeAreaInsets.bottom))") .padding(.bottom, geo.safeAreaInsets.bottom) } } ```

Parallax-Scroll-Effekt

```swift ScrollView { ForEach(items) { item in GeometryReader { geo in let offset = geo.frame(in: .global).minY Image(item.image).offset(y: offset * 0.3) } } } ```

Preference Keys zur Layout-Kommunikation

```swift struct HeightKey: PreferenceKey { static var defaultValue: CGFloat = 0 static func reduce(value: inout CGFloat, nextValue: () -> CGFloat) { value = max(value, nextValue()) } } ``` Verwenden Sie Preference Keys, um die Größen untergeordneter Elemente in der Ansichtshierarchie nach oben zu übermitteln.

Wann Sie GeometryReader vermeiden sollten

`GeometryReader` füllt standardmäßig den gesamten verfügbaren Platz aus — bei unvorsichtiger Verwendung kann dadurch das Layout beschädigt werden. Bevorzugen Sie nach Möglichkeit `.frame(maxWidth:.infinity)` und flexible Stacks.

Alternative: Layout-Protokoll

Swift 5.7+ führte das `Layout`-Protokoll für vollständig benutzerdefinierte Layout-Algorithmen ein, ohne den Overhead von GeometryReader.

Kurzer Test

Was enthält `GeometryProxy.size`?

Zusammenfassung

Die wichtigsten Punkte: • `GeometryReader { geo in }` liest die vom übergeordneten Element angebotene Größe aus • `geo.size` — Breite und Höhe; `geo.safeAreaInsets` — systemweite Innenabstände • `frame(in:)` — Position in einem benannten oder globalen Koordinatenraum • Verwenden Sie PreferenceKeys, um Größen nach oben zu übermitteln • Bevorzugen Sie nach Möglichkeit flexible Layouts gegenüber GeometryReader Kurs abgeschlossen! Als Nächstes: SwiftUI Data Flow.

Häufig gestellte Fragen

Ist die Lektion „GeometryReader für adaptive Layouts“ kostenlos?

Ja — der vollständige Text von „GeometryReader für adaptive Layouts“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „GeometryReader für adaptive Layouts“?

Lesen Sie die Geometrie des übergeordneten Elements aus, um proportionale und geräteadaptive UIs zu erstellen. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „GeometryReader für adaptive Layouts“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von VStack, HStack und ZStack
  2. LazyVGrid und LazyHGrid
  3. Spacer-, Padding- und Frame-Modifier
  4. GeometryReader für adaptive Layouts
← Zurück zu Swift Academy