UIViewAnimation Kullanımı: Mobil Uygulama Dersleri

UIViewAnimation Kullanımı

Animasyonlar doğru kullanıldığında hepimizin hoşuna gider. UIViewAnimation ile sade ve bir o kadar da güzel animasyonlar ortaya çıkarabiliriz.

Bunun için öncelikle bileşenin hangi özelliğiyle oynayacağımıza karar vermemiz gerekiyor. Örneğin bir ImageView komponentimiz olsun. Animasyon başladığında bunun arkaplan rengini mi değiştireceğiz? Uzunluğunu mu? Ekranın bir köşesine olan uzaklığını mı?

Tabi bunların hepsini aynı anda yapmak da mümkün. Önemli olan değiştirmek istediğimiz bileşenin bu özelliklerine erişebiliyor olmamız.

 

Örnek

Ben ilk örneği constraintler üzerinden vermek istiyorum. Örneğe hazırlık olsun diye 100×100 boyutunda, sağdan ve üstten 50 birim boşluk bırakacak şekilde bir UIView oluşturalım ve rengi de kırmızı olsun.

Bileşenin constraint özelliklerine müdahale etmek için bu constrainti seçip ViewController sınıfıma bağlantı yaratıyorum. Örnekte itemin ekranın sağa olan uzaklığını değiştireceğiz.

 

Şimdi bir buton aksiyonuyla beraber aşağıdaki kodun çalışmasını tetikleyelim:

 

withDuration parametresinde animasyonun kaç saniye süreceğini söylüyoruz.

Animasyon süresi boyunca yapmak istediğimiz değişiklikleri bu blok içine yazıyoruz. Örnekte eskiden 50 birim olan uzaklığı 150 ye uzatıyoruz.

Son olarak eğer layout ile ilgili değişiklikler yaptıysak-ki yaptık bunu refresh etmek için layoutIfNeeded() fonksiyonunu çağırıyoruz.

Şu an bunu yapmış olduk:

 

 

Yapılabilecek en basit animasyon buydu. Şimdi komponentin alpha değeriyle ve rengiyle oynayalım:

 

Bu sefer de şöyle bir UIViewAnimation yapmış olduk:

 

 

İsterseniz completion bloğunu kullanarak animasyonun bitmesiyle farklı aksiyonlar alabilir, veya başka animasyonlarla chain yapabilirsiniz:

 

UIViewAnimation Kullanımı: Özet

Animasyon oluşturabilmemiz için şunlara ihtiyacımız var:

  • Özelliğini değiştirmek istediğimiz komponent
  • Animasyonun kaç saniye süreceği
  • Animasyonu tetikleyecek event (Örnekte buton aksiyonuydu fakat viewDidAppear içinde veya bir timer da olabilirdi)
  • Yaratıcılık

 

Güzel bir UIViewAnimation oluşturmak için bunlar fazlasıyla yeterli. Tabiki ileri seviye kullanımları da var. Bunları çeşitli CocoaPods kütüphaneleri kullanarak veya kendiniz uğraşarak başarabilirsiniz.

Ben projelerimde animasyon için pod kütüphanelerini kullanmayı tercih etmiyorum çünkü birkaç animasyon fonksiyonu çağırmak için koca bir kütüphaneyi projeye eklemek mantıklı değil. Gerçekten çok faydalı olacaksa eklemek daha doğru. (Alamofire, SwiftyJSON vs).

CocoaPods hakkında yazdığım CocoaPods Kullanımı dersine de göz atabilirsiniz.