İçeriğe geç

Autolayout ile Animation kullanmak

İOS 10

Merhabalar bu yazımda İOS ile Autolayout üzerinde nasıl animasyon yaratırız bunun örneğini vereceğim.

Bir önceki yazımda NSLayoutConstraint ile Autolayout kullanımını göstermiştim. Şimdide bu nesneler üzerinde nasıl basitçe animasyon ekleriz bunu göstereceğim. Bu işlemi gerçekleştirmek oldukça basit.

Nesnemizin basılma,basılı tutma vs gibi durumlarına göre aşağıdaki verdiğim örneği kullanabilirsiniz. NSLayoutConstraint sınıfına bağlı constant değişkeni değerini değişerek UIView.animate içerisinde hareketini,konumunu,boyut değişimini gerçekleştirebilirsiniz.

  var greenView:UIView!
  var topConst:NSLayoutConstraint!
        greenView = UIView()
        greenView.backgroundColor = UIColor.green
        greenView.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(greenView)
        
        let gW = NSLayoutConstraint(item: greenView, attribute: .width, relatedBy: .equal, toItem: view, attribute: .width, multiplier: 1.0, constant: 0)
        let gH = NSLayoutConstraint(item: greenView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .height, multiplier: 1.0, constant: 50)
         topConst = NSLayoutConstraint(item: greenView, attribute: .top, relatedBy: .equal, toItem: view, attribute: .top, multiplier: 1.0, constant: 100)
        
        view.addConstraints([gW,gH,topConst])

Bu şekilde bir yapıda UIView nesnemiz olsun ve buna yukarı doğru top 0 olucak şekilde view üzerine basıldığına hareketini sağlayalım.

  override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        
        UIView.animate(withDuration: 1.5, delay: 0, usingSpringWithDamping: 0.2, initialSpringVelocity: 0.0, options: UIViewAnimationOptions.curveEaseInOut, animations: {
            self.topConst.constant = 0
            self.view.layoutIfNeeded()
            }, completion: nil)
        
    }

Kullanımı gördüğünüz gibi oldukça kolay.

Not: view.layoutIfNeeded() fonksiyonunu kullanmassanız çalışmayacaktır. Bu fonksiyon sayfadaki const işlemlerini işlem yaptıktan sonra yenilemenizi sağlar.

 

Kategori:iOS

Bu yazı yorumlara kapalı.

Copyright © 2022 Kenan Atmaca