Örtük ve Açık Animasyonlar
Farklı kullanım durumları için .animation() değiştiricisi ile withAnimation {} bloğunu kullanın.
Örtük ve Açık Animasyonlar, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
İki animation Stili
SwiftUI, örtük animation'ları (.animation değiştiricisi) ve açık animation'ları (withAnimation kapanışı) destekler.
struct Demo: View {
@State private var scale = 1.0
var body: some View {
Circle().scaleEffect(scale)
}
}.animation ile Örtük animation
.animation(_:value:) öğesini bir görünüme eklemek, bağlı değer her değiştiğinde görünümü animation'lı hâle getirir.
Circle()
.scaleEffect(scale)
.animation(.easeInOut(duration: 0.3), value: scale)Örtük animation'ı Tetikleme
Görünümü etkileyen her durum değişikliği, görünüm üzerinde tanımlanan örtük animation'ı otomatik olarak tetikler.
Button("Grow") {
scale = 2.0 // .animation fires automatically
}withAnimation ile Açık animation
withAnimation, bir durum değişikliğini sarar ve bunun sonucunda oluşan tüm görünüm değişikliklerini aynı anda animation'lı hâle getirir.
Button("Animate") {
withAnimation(.spring()) {
scale = 2.0
offset = 50
}
}Birden Çok Özelliği animation'lı Hâle Getirme
withAnimation, tek bir işlem olarak birden çok durum değişikliğini eş zamanlı animation'lı hâle getirmek istediğinizde daha uygundur.
withAnimation(.easeOut(duration: 0.5)) {
isExpanded = true
rotation = 90
opacity = 0.5
}animation Türleri
Swift; spring, easeIn, easeOut, easeInOut, linear ve özel zamanlama eğrisi animation'ları sağlar.
.spring(response: 0.4, dampingFraction: 0.6)
.easeInOut(duration: 0.3)
.linear(duration: 0.5)
.timingCurve(0.2, 0.8, 0.2, 1.0, duration: 0.4)animation'ı Devre Dışı Bırakma
animation'ı seçerek devre dışı bırakmak için .animation(.none, value:) aktarın veya değişiklikleri withAnimation(nil) içine sarın.
Circle()
.scaleEffect(scale)
.animation(.none, value: scale) // no animationanimation Önceliği
Açık withAnimation, alt görünümlerdeki örtük .animation değiştiricilerine göre önceliklidir.
withAnimation(.linear) {
value = true // linear wins over any .animation on subviews
}Tekrarlanan animation'lar
Yanıp sönme efektleri gibi döngülü animation'lar için .repeatForever veya .repeatCount kullanın.
.animation(
.easeInOut(duration: 0.8).repeatForever(autoreverses: true),
value: pulsing
)delay ve speed
animation değerindeki .delay ve .speed değiştiricileriyle animation'ları birleştirin.
.animation(.spring().delay(0.2).speed(1.5), value: flag)Örtük ve Açık animation Arasında Seçim Yapma
Tek bir değere bağlı tek görünüm animation'ları için örtük animation kullanın; birden çok özelliği veya görünümü eşgüdümlemek için açık animation kullanın.
// Implicit: simple, single view
.animation(.easeIn, value: isVisible)
// Explicit: multi-property or cross-view
withAnimation { a = 1; b = 2 }Kısa Kontrol
Birden çok durum özelliğini aynı anda canlandırmak için hangi yaklaşım en iyi koordinasyonu sağlar?
Ders Özeti
Örtük animasyonlar (.animation(_:value:)) tek bir görünümdeki değer değişikliklerine otomatik olarak tepki verir. Açık animasyonlar (withAnimation {}) birden çok değişikliği koordine eder. Karmaşık efektler için .delay, .speed ve .repeatForever ile birleştirin.
Sıkça Sorulan Sorular
“Örtük ve Açık Animasyonlar” dersi ücretsiz mi?
Evet — “Örtük ve Açık Animasyonlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“Örtük ve Açık Animasyonlar” dersinde ne öğreneceğim?
Farklı kullanım durumları için .animation() değiştiricisi ile withAnimation {} bloğunu kullanın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Örtük ve Açık Animasyonlar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Örtük ve Açık Animasyonlar
- Kahraman Geçişleri için matchedGeometryEffect
- Özel AnimatableModifier ve Animatable
- Yüksek Başarımlı Çizim için TimelineView ve Canvas