Sommaire

Animation des coordonnées du cadre

Si la vue que l’on souhaite redimensionner ou déplacer n’est pas positionnée en fonction de contraintes Auto Layout, alors on animera une modification de son cadre.

Afin d’animer les modifications de cadre d’une vue de façon animée, il suffit de modifier les propriétés de son cadre frame dans le bloc d’animations.

Par exemple, pour agrandir une vue vers le haut d’un certain incrément on peut utiliser l’appel suivant à animate(withDuration:animations:) :

UIView.animate(withDuration: 0.3, animations: { 
    let increment: CGFloat = 20

    guard self.vue.frame.origin.y - increment > 0 else { return }

    self.vue.frame.origin.y -= increment 
    self.vue.frame.size.height += increment 
})

Ici, comme on souhaite agrandir la vue vers le haut, il faut réduire la valeur en y d’autant qu’on l’ajoute à height. À chaque appel de ce code, la taille de la vue augmentera de 20 points vers le haut. Le test guard en début de closure permet de s’assurer que l’on ne va pas faire sortir la vue de son contenant.