Sobes.tech
Junior — Middle

როგორ შეიცვლება View-ის ზომები ანიმაციის დროს, როდესაც მისი frame ანიმაციის ნახევარში ორჯერ გაიზრდება?

sobes.tech AI

პასუხი AI-სგან

თუ ანიმაციის დროს, çərçivə View iki dəfə böyüyür animasiyanın yarısında, View-un ölçüləri aşağıdakı kimi dəyişəcək:

  • Animasiyanın ilk yarısında, View-un ölçüləri yavaş-yavaş orijinal ölçüdən iki qatına qədər artır.
  • İkinci yarısında, ölçülər yeni artırılmış səviyyədə qalacaq (əgər animasiya tərsinə dəyişiklik nəzərdə tutmayıbsa).

Yəni, əgər ümumi animasiya müddəti T-dirsə, onda T/2-də çərçivə iki qat böyüyəcək və qalan T/2-də ölçü sabit qalacaq.

Əgər animasiya davamlı dəyişiklik üçün qurulubsa, ölçü dəyişməsi birbaşa və ya təyin olunmuş əyri (ease-in, ease-out) üzrə ilk yarıda baş verəcək və sonra stabilləşəcək.

Swift-də UIView.animate nümunəsi:

UIView.animate(withDuration: totalDuration) {
    UIView.animateKeyframes(withDuration: totalDuration, delay: 0, options: [], animations: {
        UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 0.5) {
            view.frame.size = CGSize(width: view.frame.width * 2, height: view.frame.height * 2)
        }
        UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.5) {
            // Ölçülər sabit qalır
        }
    })
}

Beləliklə, ölçünün artması yalnız animasiyanın ilk yarısında baş verir.