0Pricing
Swift Academy · Ders

Örtük ve Açık Animasyonlar

Katman özelliklerini CABasicAnimation ile canlandırın.

Örtük ve Açık Animasyonlar, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 2. 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.

Katmanları Canlandırmanın İki Yolu

Core Animation, örtük animasyonlar (özellik değiştiğinde otomatik olarak gerçekleşir) ve açık animasyonlar (bir animasyon nesnesini sizin oluşturduğunuz animasyonlar) sunar.

Her ikisini ve birbirleriyle nasıl etkileştiklerini bilmek, akıcı hareket için çok önemlidir.

Örtük Animasyonlar

Bağımsız bir katmanın canlandırılabilir özelliğini değiştirmek, herhangi bir animasyon nesnesi gerektirmeden varsayılan 0,25 saniyelik eğriyi kullanan örtük bir animasyonu tetikler.

let layer = CALayer()
// Later, this animates automatically:
layer.opacity = 0.0

Canlandırılabilir Özellikler

Birçok katman özelliği canlandırılabilir: opacity, position, bounds, backgroundColor, transform, cornerRadius ve daha fazlası.

layer.cornerRadius = 20 // animates implicitly
layer.backgroundColor = UIColor.systemGreen.cgColor

Eylemler ve Eylem Mekanizması

Örtük animasyonlar eylemler tarafından yürütülür. Bir özellik değiştiğinde katman, çalıştıracağı bir CAAction arar. Bu eylemleri özelleştirebilir veya devre dışı bırakabilirsiniz.

Görünüme Bağlı Katmanlar Örtük Animasyonları Devre Dışı Bırakır

Bir UIView öğesine bağlı katmanlarda örtük animasyonlar kapalıdır. Bu katmanları bunun yerine UIView.animate üzerinden veya açık animasyonlarla canlandırırsınız.

UIView.animate(withDuration: 0.3) {
    view.alpha = 0
}

CABasicAnimation

CABasicAnimation, bir özelliği fromValue ile toValue arasındaki değerler arasında canlandırır. Özelliğe uyan bir anahtar yolu kullanarak animasyonu katmana ekleyin.

let anim = CABasicAnimation(keyPath: "opacity")
anim.fromValue = 1.0
anim.toValue = 0.0
anim.duration = 0.5
layer.add(anim, forKey: "fade")

Sunum ve Model

Açık bir animasyon yalnızca sunum değerlerini (ekranda görünen değerleri) değiştirir; katmanın model değeri animasyon sona erdiğinde eski hâline döner.

Değişikliğin kalıcı olması için model değerini de ayarlayın.

layer.opacity = 0.0 // set model value so it persists
layer.add(anim, forKey: "fade")

Kare Kare Animasyonlar

CAKeyframeAnimation, birden çok values değerinde keyTimes boyunca veya bir path boyunca animasyon oluşturur; bu nedenle sekmeler ya da eğriler boyunca hareket için idealdir.

let move = CAKeyframeAnimation(keyPath: "position")
move.values = [
    NSValue(cgPoint: CGPoint(x: 0, y: 0)),
    NSValue(cgPoint: CGPoint(x: 100, y: 0)),
    NSValue(cgPoint: CGPoint(x: 100, y: 100))
]
move.duration = 1.0
layer.add(move, forKey: "path")

Zamanlama İşlevleri

Hızlanmayı timingFunction ile denetleyin: yavaş başlayıp hızlanan, yavaşlayan, doğrusal veya özel bir kübik Bézier eğrisi kullanabilirsiniz.

anim.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)

Gruplama ve İşlemler

Birden çok değişikliği süreyi ve zamanlamayı paylaşmak veya örtük animasyonları tamamen devre dışı bırakmak için bir CATransaction içine sarın.

CATransaction.begin()
CATransaction.setDisableActions(true)
layer.position = CGPoint(x: 200, y: 200)
CATransaction.commit()

Animasyon Temsilcileri ve Tamamlama

Hareket tamamlandığında kod çalıştırmak için CATransaction.setCompletionBlock veya bir animasyon temsilcisi ayarlayın; bu kod temizleme, zincirleme ya da durum güncelleme işlemlerini gerçekleştirebilir.

CATransaction.begin()
CATransaction.setCompletionBlock { print("done") }
layer.add(anim, forKey: "fade")
CATransaction.commit()

Hızlı Kontrol: Animasyonlar

Örtük ve açık animasyonlar konusundaki anlayışınızı değerlendirin.

Özet: Örtük ve Açık Animasyonlar

Bağımsız katmanlar, canlandırılabilir özellikler değiştiğinde eylemler aracılığıyla örtük olarak canlanır; görünüme bağlı katmanlarda bu özellik devre dışıdır ve UIView.animate kullanılır. Açık CABasicAnimation ve CAKeyframeAnimation, sunum değerini canlandırır; bu nedenle sonucu kalıcı kılmak için model değerini güncelleyin.

Hareketi zamanlama işlevleriyle ayarlayın, değişiklikleri CATransaction içinde toplu olarak uygulayın ve sonraki işlemler için tamamlama bloklarını kullanın.

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?

Katman özelliklerini CABasicAnimation ile canlandırı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 2. 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

  1. CALayer Temelleri
  2. Örtük ve Açık Animasyonlar
  3. Dönüşümler ve 3B Efektler
  4. Core Graphics ile Özel Çizim
← Swift Academy Sayfasına Dön