我想实现与具有“真实运动背景”的起始页面相同的行为。当您倾斜手机时,背景图像会移动一点,使其看起来 3D 和“真实”。

这是我在我的应用程序起始页中想要的。

我怎么做这个?

最佳答案

UIInterpolatingMotionEffect

可以为每个轴创建一个,创建一个组,并将运动效果组添加到后台的 UIImageView 中。

let horizontalMotionEffect = UIInterpolatingMotionEffect(keyPath: "center.x", type: .TiltAlongHorizontalAxis)
horizontalMotionEffect.minimumRelativeValue = -50
horizontalMotionEffect.maximumRelativeValue = 50

let verticalMotionEffect = UIInterpolatingMotionEffect(keyPath: "center.y", type: .TiltAlongVerticalAxis)
verticalMotionEffect.minimumRelativeValue = -50
verticalMotionEffect.maximumRelativeValue = 50

let motionEffectGroup = UIMotionEffectGroup()
motionEffectGroup.motionEffects = [horizontalMotionEffect, verticalMotionEffect]

imageView.addMotionEffect(motionEffectGroup)

因此,当您围绕 y 轴倾斜它时,图像将左右移动。当您绕 x 轴倾斜时,图像将上下移动。

(图片取自Event Handling Guide for iOS。)

10-08 05:56