Cómo rotar objetos en su aplicación para ios

Video: Como hacer Girar la Pantalla del iPhone La nueva Funcion del iPhone 6 Plus

Aquí, encontrará la manera de rotar una vista (en este caso, gire el coche) en su aplicación para iOS. Para ello, se actualiza el girar código auxiliar que comenzó con y reemplazarlo con el código en negrita.

- (Void) girar { CGAffineTransform transformar = CGAffineTransformMakeRotation (M_PI) - void (^ animación) () = ^ () {self.car.transformar = Transformar- } - void (^ finalización) (BOOL) = ^ (BOOL terminado) {[Auto returnCar] - } - [UIView animateWithDuration: 3 animaciones: finalización de animación: Terminar] -}

Este método usa las declaraciones de bloque.

Video: como hacer que la pantalla del iphone sea giratoria en ios 7

los CGAffineTransform estructura de datos representa una matriz utilizada para transformaciones afines - un modelo de cómo puntos en un mapa de coordenadas del sistema de puntos en otro sistema de coordenadas. A pesar de que CGAffineTransform tiene un número de usos (tales como la escala o la traducción de un sistema de coordenadas), el único tratado aquí es el método de rotación se utiliza en el listado 10-3:

CGAffineTransformMakeRotation (M_PI)

Para rotar una vista, se especifica el ángulo (en radianes) para girar los ejes de coordenadas del sistema. Mientras que los grados son números entre 0 y 360, radianes, aunque similares, van desde 0 a 2n. Así que cuando se crea una rotación que gira un objeto alrededor de un semicírculo, que la rotación en radianes es pi. (M_PI es una constante del sistema que representa pi).

Sólo para hacer su vida más interesante, se debe tener en cuenta que en IOS, positivo es hacia la izquierda, pero en Mac OS X, positiva es hacia la derecha.

El resultado final del listado 10-3 es que el coche va a girar 180 grados en tres segundos, y cuando se hace, le envíe el returnCar mensaje en el controlador de finalización.

Para devolver el coche a su posición original, agregue el código en negrita a la returnCar stub método en el TestDriveController.m.

- (Void) {returnCar centro CGPoint = CGPointMake (self.view.center.x, self.view.frame.size.height -  altura self.car.frame.size) -void (^ animación) () =^ () {self.car.centro = centro-} -void (^ finalización) (BOOL) = ^ (BOOL terminado) {[Auto continueRotation] -} -[UIView animateWithDuration: 3 animaciones: animación completado: finalización] -}

Este enfoque es más o menos la misma que la de la prueba de conducción método excepto que el nuevo centrar se coloca de manera arbitraria a 600 puntos por debajo de donde el coche se da la vuelta. Se pone el centrar de nuevo mediante el cálculo de la parte inferior de la vista

 self.car.frame.size.height self.view.frame.size.height-) -

Usted puede experimentar con estas fórmulas para ver cómo mover el coche alrededor de la vista.

Video: iPhone 5 Gira Automaticamente con una App

Pero no hemos terminado todavía. Es necesario para girar el coche de vuelta a su posición original (a menos que usted desea conducir a la inversa, desde California hasta Nueva York). Agregue el código en negrita a la continueRotation stub método en el TestDriveController.m.

- (Void) {continueRotation CGAffineTransform transformar = CGAffineTransformMakeRotation (0) - void (^ animación) () = ^ () {self.car.transformar = Transformar- } -[UIView animateWithDuration: 3 animaciones: animación completado: NULL] -}

Es necesario comprender que la transformación (en este caso, una rotación de la vista) es todavía allí- es decir, que ha creado un archivo de transformación para girar el coche 180 grados. Si usted desea conseguir el coche de vuelta a la posición original, es necesario devolver la transformación a 0.

Artículos Relacionados