2009-05-12 22 views
43

¿Qué debo hacer si necesito girar un UIImageView? Tengo un UIImage que quiero rotar en 20 grados.¿Cómo puedo girar un UIImageView en 20 grados?

Apple habla de una matriz de transformación, pero eso suena difícil. ¿Hay algún método o función útil para lograr eso?

Respuesta

89

Una matriz de transformación no es increíblemente difícil. Es muy sencillo, si utiliza las funciones proporcionadas:

imgView.transform = CGAffineTransformMakeRotation(.34906585); 

(0,34906585 es de 20 grados en radianes)

+3

Gracias! Y realmente pensé que era complicado, solo por la "matriz de transformación";) – Thanks

-2

Hasta donde yo sé, usar la matriz en UIAffineTransform es la única forma de lograr una rotación sin la ayuda de un marco de terceros.

1
 
_YourImageView.transform = CGAffineTransformMakeRotation(1.57); 

donde 1,57 es el valor en radianes de 90 grados

99

Si desea para girar a la derecha, el valor debe ser mayor que 0 si desea rotar a la izquierda indica el valor con el signo "-". Por ejemplo, -20.

CGFloat degrees = 20.0f; //the value in degrees 
CGFloat radians = degrees * M_PI/180; 
imageView.transform = CGAffineTransformMakeRotation(radians); 
+2

Esto debería marcarse, ¡es la mejor respuesta con diferencia! – Supertecnoboff

+1

La conversión de grados es una gran ventaja, ¡esta debería ser la mejor! –

10

versión Swift:

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

El mismo código (excepto let) funcionará para objetivo-c también. –

1

Este es un ejemplo de formato más fácil (por 20 grados):

CGAffineTransform(rotationAngle: ((20.0 * CGFloat(M_PI))/180.0)) 
1

Aquí está una extensión para Swift 3.

extension UIImageView { 

    func rotate(degrees:CGFloat){ 
     self.transform = CGAffineTransform(rotationAngle: degrees * CGFloat(M_PI/180)) 
     } 
    } 

Uso:

myImageView.rotate(degrees: 20) 
2

Swift 4,0

imageView.transform = CGAffineTransform(rotationAngle: CGFloat(20.0 * Double.pi/180)) 
Cuestiones relacionadas