我想实现与具有“真实运动背景”的起始页面相同的行为。当您倾斜手机时,背景图像会移动一点,使其看起来 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。)