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.