Чтобы добиться эффекта параллакса, добавьте инфраструктуру CoreMotion в свой проект и создайте CMMotionManager
. Затем для устройства с гироскопом вы можете использовать startDeviceMotionUpdatesToQueue:withHandler:
и проверить motion.attitude.roll
в своем блоке обработчика.
Для устройства, которое не имеет гироскопа, вы можете использовать startAccelerometerUpdatesToQueue:withHandler:
и проверять accelerometerData.acceleration.x
, или вы можете использовать UIAccelerometer
и реализовать UIAccelerometerDelegate
. В любом случае, вы, вероятно, захотите создать фильтр нижних частот, чтобы отличать гравитацию от линейного ускорения. У проекта GLGravity есть пример этого.
См. Раздел События движения в Руководстве по обработке событий для iOS.