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.