Animation de la transformation
Afin de déplacer, faire tourner ou
donner un effet d’échelle à une vue sans changer
la position des éléments qui se trouvent autour,
on peut animer les changements de sa propriété transform.
Par exemple, si l’on souhaite effectuer une
rotation d’un quart de tour d’un bouton boutonTapMe,
tout en augmentant son échelle de 20 %,
on peut lui appliquer la transformation suivante :
let transformActuelle = boutonTapMe.transform
let nouvelleTransform = transformActuelle
.scaledBy(x: 1.2, y: 1.2)
.rotated(by: .pi/2)
boutonTapMe.transform = nouvelleTransform
Ici, on récupère la valeur
actuelle de boutonTapMe.transform qui
peut déjà comporter des modifications, on crée
une variable nouvelleTransform à laquelle
on assigne une version de transformActuelle à laquelle on
a appliqué une échelle de 1.2 en x et en y ainsi
qu’une rotation de π/2.
Ce code peut être tout simplement
inclus dans un bloc d’animation pour animer la transformation :
UIView.animate(withDuration: 0.3) {
let transformActuelle = self.boutonTapMe.transform
let nouvelleTransform = transformActuelle
...