web-dev-qa-db-fra.com

Comment faire pivoter un UIImageView de 20 degrés?

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?

46
Thanks

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)

92
Ed Marty

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)
106
alexmorhun

version Swift:

let degrees:CGFloat = 20
myImageView.transform = CGAffineTransformMakeRotation(degrees * CGFloat(M_PI/180) )
10
xscoder

Swift 4.

imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi / 180))
4
William Hu

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)
2
JP Aquino

Ceci est un exemple de formatage plus facile (pour 20 degrés):

CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI)) / 180.0))
1
Alex Bailey
 _ YourImageView.transform = CGAffineTransformMakeRotation (1.57); 

où 1,57 est la valeur du radian pour 90 degrés

1
Radix