没有UIInterpolatingMotionEffect类,我该怎么做一个视差效果。仅在iPhone中具有加速功能?当您向上倾斜手机时,我希望效果达到图像的效果。只是正常的视差效果
我已经试过了:
func setupParallax() {
let motion = CMMotionManager()
motion.startAccelerometerUpdates()
parallaxImage.frame.origin.x = CGFloat((motion.accelerometerData?.acceleration.x)!)
parallaxImage.frame.origin.y = CGFloat((motion.accelerometerData?.acceleration.y)!)
}
最佳答案
使用核心运动。理想情况下,运动管理器的参考系应为CMAttitudeReferenceFrame.xArbitraryCorrectedZVertical
,这样您就可以通过调用multiply(byInverseOf:)
来获取相对于起始姿态的当前姿态。为此,请运行一个重复计时器并轮询运动管理器的设备运动以获取其姿势。现在使用它来调整视图的变换。
关于swift - 如何在没有UIInterpolatingMotionEffect类的情况下添加ParallaxEffect,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52504482/