¿Cómo get una compensación de movimiento de paralaje similar a la pantalla de inicio de iOS 7 con soporte para iOS 6?

He leído aquí que iOS 7 ofrece una forma sencilla de get desfases de movimiento de paralaje. Pero también muestra que debes aplicarlo a una UIView.

Lo necesito para algo diferente (un algorithm de dibujo). ¿Qué harías para get el desplazamiento de movimiento de paralaje de CGPoint puro si no quieres crear una vista oculta solo para get el valor?

¿Y cómo podría get esta compensación de movimiento de paralaje para que también se ejecute con iOS 6?

Esta respuesta es 3 años demasiado tarde.

Pero, puede subclass UIMotionEffect y anular keyPathsAndRelativeValues(forViewerOffset:) e implementar cualquier efecto que desee aplicar a la vista en function de la position de visualización del espectador.

El parámetro viewerOffset proporciona una instancia de UIOffset que le dará el desplazamiento de visualización del visor. Debe devolver un dictionary con keyPaths como keys y los valores correspondientes que calcula en function de la viewerOffset como los valores de cualquiera de las properties animables de la vista.

 import UIKit class CustomMotionEffect: UIMotionEffect { override func keyPathsAndRelativeValues(forViewerOffset viewerOffset: UIOffset) -> [String : Any]? { var motionEffectDictionary = [String : Any]() //Horizontal if viewerOffset.horizontal > 0 { //Device tilted right } else if viewerOffset.horizontal < 0 { //Device tilted leftß } else {//Device horizontally perpendicular } //Vertical if viewerOffset.vertical > 0 { //Device tilted down } else if viewerOffset.vertical < 0 { //Device tilted up } else { //Device vertically perpendicular } return motionEffectDictionary } } 

Hacer esto asegurará que usted tenga control sobre cómo debe comportarse su efecto. Pero, esto no funcionará en iOS6.