Sobes.tech
Junior

UIKit-də animasiyalar nədir?

sobes.tech Süni İntellekt

AI-dan cavab

UIKit-də animasiyalar UI elementlərinin xüsusiyyətlərinin vizual dəyişiklikləridir (məsələn, mövqe, ölçü, rəng, şəffaflıq) zamanla, hərəkət və dinamiklik illüziyasını yaradır.

UIKit-də animasiyaları həyata keçirməyin əsas üsulları:

  1. UIView.animate(withDuration:animations:): UIView-in standart xüsusiyyətlərini animasiya etmək üçün ən sadə yoldur.

    // UIView-nin mərkəz və şəffaflığını dəyişən animasiya
    UIView.animate(withDuration: 0.5) {
        myView.center = newCenter
        myView.alpha = 0.0
    }
    
  2. UIView.animate(withDuration:delay:options:animations:completion:): Daha çevik metod, gecikmə, animasiya əyri və tamamlanma bloku ilə.

    // Gecikmə və təkrarlama seçimi ilə animasiya
    UIView.animate(withDuration: 0.8, delay: 0.2, options: [.repeat, .autoreverse]) {
        myView.backgroundColor = .red
    } completion: { finished in
        // Sonlandırmadan sonra əməliyyatlar (əgər sonsuz təkrarlanmayıbsa)
    }
    
  3. Əsas animasiya seçimləri (UIView.AnimationOptions):

    • .curveEaseInOut
    • .curveEaseIn
    • .curveEaseOut
    • .curveLinear
    • .repeat
    • .autoreverse
    • .allowUserInteraction
  4. Constraint əsaslı animasiyalar: layoutIfNeeded() istifadə edərək constraint dəyişikliklərini animasiya etmək.

    // Constraint dəyişdirmək
    myViewHeightConstraint.constant = 200
    
    // Layout dəyişikliklərini animasiya etmək
    UIView.animate(withDuration: 0.3) {
        self.view.layoutIfNeeded()
    }
    
  5. View keçid animasiyaları: Fərqli görünüşlər arasında keçidlər (transition(from:to:duration:options:completion:)) və ya konteyner daxilində.

    // Nümunə ilə keçid
    UIView.transition(from: oldView, to: newView, duration: 0.5, options: [.transitionFlipFromLeft]) { finished in
        // Keçiddən sonra əməliyyatlar
    }
    
  6. Core Animation (CALayer): Layer-lər üçün daha aşağı səviyyəli və güclü çərçivə. CALayer-in xüsusiyyətlərini (məsələn, position, bounds, opacity, transformasiyalar) animasiya etməyə imkan verir.

    // Opacity dəyişməsinin sadə animasiyası
    let animation = CABasicAnimation(keyPath: "opacity")
    animation.fromValue = 1.0
    animation.toValue = 0.0
    animation.duration = 1.0
    myView.layer.add(animation, forKey: "fadeAnimation")
    
  7. UIStackView istifadə edərək animasiyalar: Elementlərin yerləşməsinin avtomatik animasiyası.

    // UIStackView-ə yeni görünüş əlavə etmək və animasiya
    UIView.animate(withDuration: 0.3) {
        stackView.addArrangedSubview(newView)
        stackView.layoutIfNeeded()
    }
    

Animasiyaların istifadəsi istifadəçi təcrübəsini yaxşılaşdırır, tətbiqi daha interaktiv və intuitiv edir.