0Pricing
Swift Academy · Pelajaran

GeometryReader untuk Tata Letak Adaptif

Membaca geometri induk untuk membangun UI proporsional dan yang beradaptasi dengan perangkat.

GeometryReader untuk Tata Letak Adaptif adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Selamat Datang

`GeometryReader` membaca ukuran yang tersedia dari induknya, sehingga Anda dapat membuat tata letak yang proporsional terhadap ukuran layar atau kontainer.

Penggunaan Dasar

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

Properti GeometryProxy

`GeometryProxy` menyediakan: • `size: CGSize` — lebar dan tinggi yang tersedia • `safeAreaInsets: EdgeInsets` — area aman sistem • `frame(in:)` — bingkai dalam ruang koordinat tertentu

Ukuran Proporsional

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

Ruang Koordinat

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

Area Aman

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

Efek Gulir Paralaks

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

Kunci Preferensi untuk Komunikasi Tata Letak

```swift struct HeightKey: PreferenceKey { static var defaultValue: CGFloat = 0 static func reduce(value: inout CGFloat, nextValue: () -> CGFloat) { value = max(value, nextValue()) } } ``` Gunakan untuk mengomunikasikan ukuran tampilan anak ke atas dalam hierarki tampilan.

Kapan Sebaiknya Menghindari GeometryReader

`GeometryReader` secara bawaan mengisi semua ruang yang tersedia—penggunaan yang ceroboh dapat merusak tata letak. Jika memungkinkan, pilih `.frame(maxWidth:.infinity)` dan tumpukan fleksibel.

Alternatif: Protokol Tata Letak

Swift 5.7+ memperkenalkan protokol `Layout` untuk algoritme tata letak yang sepenuhnya khusus tanpa beban tambahan GeometryReader.

Pemeriksaan Singkat

Apa yang terdapat dalam `GeometryProxy.size`?

Ringkasan

Poin penting: • `GeometryReader { geo in }` membaca ukuran yang ditawarkan induk • `geo.size` — lebar/tinggi; `geo.safeAreaInsets` — inset sistem • `frame(in:)` — posisi dalam ruang koordinat bernama atau global • Gunakan PreferenceKeys untuk mengomunikasikan ukuran ke atas • Jika memungkinkan, pilih tata letak fleksibel daripada GeometryReader Kursus selesai! Berikutnya: Aliran Data SwiftUI.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “GeometryReader untuk Tata Letak Adaptif” gratis?

Ya — teks lengkap “GeometryReader untuk Tata Letak Adaptif” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “GeometryReader untuk Tata Letak Adaptif”?

Membaca geometri induk untuk membangun UI proporsional dan yang beradaptasi dengan perangkat. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “GeometryReader untuk Tata Letak Adaptif” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar VStack, HStack, dan ZStack
  2. LazyVGrid dan LazyHGrid
  3. Modifier Spacer, Padding, dan Frame
  4. GeometryReader untuk Tata Letak Adaptif
← Kembali ke Swift Academy