没有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/

10-17 00:56