Skip to main content
LanguageTürkçe
Mühendislik5 dakikalık okumaEkim 2026

Bahar animasyonları SwiftUI'te nasıl çalışır?

Kısa cevap

SwiftUI'te .animation(.spring) veya withAnimation(.spring) ile bir yay eklersiniz. iOS 17'den bu yana ana ayarlar süre ve sıçramadır ve ön ayarlar mevcuttur: .smooth (hemen sıçrama yok), .snappy (biraz) ve .bouncy (daha fazla). Eski kod, Response ve DampingFraction'ı kullanır. SwiftUI yaylar, yeni bir animasyon onları kesintiye uğrattığında hızlarını korur, bu da hareketlerin doğal görünmesini sağlar.

Ana nokta

  • Durum değişiklikleri için withAnimation(.spring) öğesini veya görünümde .animation(.spring, value:) öğesini kullanın
  • iOS 17+: .spring(süre:bounce:) artı .smooth, .snappy ve .bouncy hazır ayarları
  • Eski API: .spring(response:dampingFraction:blendDuration :)
  • Yaylar, iOS 17'den bu yana SwiftUI'in varsayılan animasyon stilidir
  • Kesintili yaylar hızlarını korur, böylece hareketler sorunsuz bir şekilde ilerlenir

SwiftUI durum değişikliklerini canlandırır. withAnimation(.spring) içinde isExpanded gibi bir değer değiştiğinde, ona bağlı olan her görünüm bir yay kullanarak yeni düzenine taşınır.

iOS 17 ve sonraki sürümlerde, bir yayı tanımlamanın en basit yolu iki değerdir: süre, yani yerleşmenin kabaca ne kadar sürdüğü ve sıçrama, ne kadar aşıldığı anlamına gelir. 0'lık bir sıçrama, aşım olmadan yumuşak hareket sağlar; daha yüksek değerler sıçramayı artırır. Apple ayrıca ön ayarlar da sağlar: .smooth, .snappy ve .bouncy.

Eski kodda .spring(response:dampingFraction:) kullanılır. Tepki süreye benzer ve 1'lik bir sönümleme oranı sıçrama olmadığı anlamına gelirken daha düşük değerler sıçrama ekler. Her iki form da aynı fiziksel yayı tanımlar.

Yayların en büyük avantajı kesintidir. Kullanıcı animasyonun ortasında tekrar dokunursa veya bir sürükleme hareketi sona ererse, yeni yay geçerli konum ve hızdan başlar, dolayısıyla atlama olmaz. Sürükleme hareketleri için, kullanıcı serbest bıraktığında hareketin hızını iletin, böylece öğe fırlatıldığı yönde devam eder.

Aynı bileşenin web'de veya Android'de de çalıştırılması gerekiyorsa yay değerlerini paylaşılan hareket belirteçleri olarak tutmak yardımcı olur. Yaptığımız ExodeUI, bir SwiftUI çalışma zamanına sahiptir, böylece tasarlanmış bir bileşen, yaylarıyla birlikte SwiftUI'te ve diğer platformlarda oynatılabilir.

Sık sorulan sorular

SwiftUI'teki varsayılan animasyon nedir?

İOS 17'den beri varsayılan animasyon yumuşak bir yaydır.

.snappy ve .bouncy arasındaki fark nedir?

.snappy küçük bir aşmayla hızla yerleşir; .bouncy daha fazlasını aşıyor. .smooth'un aşımı yoktur.

Yanıt ve sönümleme Fraksiyonunu süreye ve sıçramaya nasıl dönüştürebilirim?

Yanıt kabaca süreyle eşleşir. 1'lik bir sönümleme oranı sıçrama 0'dır; daha düşük sönümleme oranları daha fazla sıçrama anlamına gelir.

Sürükleme hareketinden hızı nasıl eklerim?

Sürükleme sona erdiğinde hızı okuyun ve enterpolasyonlu bir yay veya başlangıç ​​hızını kabul eden daha yeni yay API'lerini kullanın.

İlgili rehberler ve örnekler

Kod yazmadan önce bir yayı ayarlayın

SwiftUI, CSS ve diğer platformlar için kaydırıcıları sürükleyin, hareketi izleyin ve yay değerlerini kopyalayın.

Yay jeneratörünü açın
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →