Animasi Eksplisit dengan withAnimation
Bungkus perubahan state untuk mengendalikan waktunya.
Animasi Eksplisit dengan withAnimation adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 SwiftUI Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SwiftUI Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
When You Want Control
Sometimes you want to decide exactly which change animates. withAnimation wraps a state change so its results tween.
The withAnimation Block
You put your state mutation inside withAnimation. Every view update caused by that change animates together.
withAnimation {
isExpanded.toggle()
}Explicit vs Implicit
Implicit animation lives on the view; explicit animation lives at the change site. You choose what animates by where you mutate.
Add a Curve
Pass a curve to withAnimation just like the modifier. The animation argument shapes the timing of the whole block.
withAnimation(.easeInOut(duration: 0.3)) {
show.toggle()
}Trigger from a Button
A common pattern is wrapping a toggle in a Button action so a tap animates the resulting layout change.
Button("Toggle") {
withAnimation { open.toggle() }
}Many Views, One Block
If one state change affects several views, withAnimation animates them all in sync from a single wrapped mutation.
Use a Spring Feel
Springs give natural, bouncy motion. Pass .spring to withAnimation for UI that feels physical and responsive.
withAnimation(.spring) {
selected = id
}Animate Conditional Views
Toggling a boolean that adds or removes a view inside withAnimation animates its appearance, not just its properties.
withAnimation {
showDetail = true
}Return a Value
withAnimation can return the value its closure produces, so you can animate and read a result in one expression.
Completion Handling
Newer APIs let you run code after the motion finishes via a completion callback on withAnimation, great for chaining steps.
Keep Blocks Focused
Only put the change you want to animate inside the block. Unrelated work outside withAnimation stays instant and clean.
Quick Check
What is the key difference between the two animation styles?
Recap: withAnimation
You saw how withAnimation wraps a state change so every resulting update tweens together. It gives precise control over what animates. 👍
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Animasi Eksplisit dengan withAnimation” gratis?
Ya — teks lengkap “Animasi Eksplisit dengan withAnimation” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SwiftUI Academy, upgrade ke CoddyKit PRO. Kursus SwiftUI Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Animasi Eksplisit dengan withAnimation”?
Bungkus perubahan state untuk mengendalikan waktunya. Kamu berlatih SwiftUI 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 SwiftUI Academy?
Tidak diperlukan pengalaman sebelumnya. SwiftUI 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 2 dari 4.
Berapa lama pelajaran “Animasi Eksplisit dengan withAnimation” 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 SwiftUI Academy ini?
Ya. Setiap pelajaran SwiftUI 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
- Animasi Implisit
- Animasi Eksplisit dengan withAnimation
- Transisi Penyisipan & Penghapusan
- Kurva Waktu Spring & Kustom