Sobes.tech
Junior — Middle

Comment la taille de la vue changera-t-elle pendant l'animation, lorsque son frame double en la moitié de la période d'animation?

sobes.tech IA

Réponse de l'IA

Si pendant l'animation, le cadre View double de taille en la moitié de la période d'animation, les dimensions de View changeront comme suit :

  • Pendant la première moitié de l'animation, les dimensions de View augmenteront en douceur de la taille initiale jusqu'au double.
  • Pendant la seconde moitié de l'animation, les dimensions resteront au nouveau niveau augmenté (si l'animation ne prévoit pas de changement inverse).

C'est-à-dire, si la durée totale de l'animation est T, alors en T/2 le cadre doublera de taille, puis dans le temps restant T/2, la taille restera constante.

Si l'animation est configurée pour un changement continu, la variation de taille sera linéaire ou selon la courbe définie (ease-in, ease-out) durant la première moitié du temps, puis se stabilisera.

Exemple en Swift avec UIView.animate :

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) {
            // Les dimensions restent constantes
        }
    })
}

Ainsi, l'augmentation de la taille ne se produit que durant la première moitié de l'animation.