En mi aplicación para iPhone, quiero rotar la vista mediante programación 180 grados.¿Es posible rotar programáticamente la vista en 180 grados?
¿Eso es posible, si es así cómo?
Gracias!
En mi aplicación para iPhone, quiero rotar la vista mediante programación 180 grados.¿Es posible rotar programáticamente la vista en 180 grados?
¿Eso es posible, si es así cómo?
Gracias!
debería ser posible mediante el uso de CGAffineTransform
Presupuesto de this question, esto debería hacer el truco:
CGFloat radians = atan2f(yourView.transform.b, yourView.transform.a);
CGFloat degrees = radians * (180/M_PI);
CGAffineTransform transform = CGAffineTransformMakeRotation((90 + degrees) * M_PI/180);
yourView.transform = transform;
mismo resultado que la respuesta de @ Manny utilizando una función diferente.
CGFloat degreesOfRotation = 180.0;
view.transform = CGAffineTransformRotate(view.transform,
degreesOfRotation * M_PI/180.0);
Como 'CGAffineTransformRotate' radianes utiliza como unidad de medida, y 180 grados es el mismo que el PI, en lugar de las matemáticas siempre y en otras respuestas sólo tiene que hacer:
view.transform = CGAffineTransformRotate(view.transform, M_PI);
Swift 3:
view.transform = view.transform.rotated(by: .pi)
Si usted planea hacer una gran cantidad de transformaciones, es probablemente la mejor manera de leer en radianes, por lo que entender lo que es goi ng on.
solución simple:
view.transform = CGAffineTransformMakeRotation(degrees*M_PI/180);
En Swift 3:
let rotationDegrees = 180.0
let rotationAngle = CGFloat(rotationDegrees * M_PI/180.0)
view.transform = CGAffineTransform(rotationAngle: rotationAngle)
reciente Swift 3 sintaxis:
view.transform = view.transform.rotated(by: .pi)
Swift 4:
self.view.transform = CGAffineTransform(rotationAngle: .pi);
y una nota (I, evidentemente, no tienen suficientes puntos para entrar en mi comentario sobre su/su respuesta) para Benjamin Mayo o vtcajones respuesta de:
view.transform = view.transform.rotated(by: .pi)
Esto funcionará la primera vez, pero la próxima vez que se llame, rotará la vista de nuevo, volviendo a la rotación original, que probablemente no sea la que desea. Sería más seguro establecer el valor de transformación exactamente cada vez.
Esto lo gira 90 grados. Si desea rotarlo 180 grados, la última línea debería ser 'CGAffineTransformMakeRotation ((' '180 **' + degrees) * M_PI/180) 'en lugar de 90 –