Que dois-je faire si je dois faire pivoter un UIImageView
? J'ai un UIImage
que je veux faire pivoter de 20 degrés.
Les documents Apple Apple parlent d'une matrice de transformation, mais cela semble difficile. Existe-t-il des méthodes ou des fonctions utiles pour y parvenir?
Une matrice de transformation n'est pas incroyablement difficile. C'est assez simple, si vous utilisez les fonctions fournies:
imgView.transform = CGAffineTransformMakeRotation(.34906585);
(.34906585 est de 20 degrés en radians)
Si vous voulez tourner à droite, la valeur doit être supérieure à 0 si vous voulez faire pivoter vers la gauche indique la valeur avec le signe "-". Par exemple -20.
CGFloat degrees = 20.0f; //the value in degrees
CGFloat radians = degrees * M_PI/180;
imageView.transform = CGAffineTransformMakeRotation(radians);
Swift 4:
let degrees: CGFloat = 20.0 //the value in degrees
let radians: CGFloat = degrees * (.pi / 180)
imageView.transform = CGAffineTransform(rotationAngle: radians)
version Swift:
let degrees:CGFloat = 20
myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) )
Swift 4.
imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi / 180))
Voici une extension pour Swift 3.
extension UIImageView {
func rotate(degrees:CGFloat){
self.transform = CGAffineTransform(rotationAngle: degrees * CGFloat(M_PI/180))
}
}
Usage:
myImageView.rotate(degrees: 20)
Ceci est un exemple de formatage plus facile (pour 20 degrés):
CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
_ YourImageView.transform = CGAffineTransformMakeRotation (1.57);
où 1,57 est la valeur du radian pour 90 degrés