通过UIInterpolatingMotionEffect获得视差并在Swift中实现图像固定

时间:2018-11-16 18:06:47

标签: ios swift parallax

我正在尝试在Swift中对图像进行视差效果。

但是,当您前后倾斜手机时,图像不会改变,所以看起来好像是从另一个角度看(我认为是视差效果),图像只是向左,向右移动,倾斜时,在背景下向上移动。这不是我想要的。我希望图像在背景上保持静止。谁能建议一种在图像静止的情况下获得视差效果的方法。

图像是tableviewCell中的UIImageView。它是在带有出口的情节提要中创建的,并且受高度,宽度(每个40pts)和单元内的约束。

这是视差代码:

 func addParallaxToView(vw: UIView) {
        let amount = 100

        let horizontal = UIInterpolatingMotionEffect(keyPath: "center.x", type: .tiltAlongHorizontalAxis)
        horizontal.minimumRelativeValue = -amount
        horizontal.maximumRelativeValue = amount

        let vertical = UIInterpolatingMotionEffect(keyPath: "center.y", type: .tiltAlongVerticalAxis)
        vertical.minimumRelativeValue = -amount
        vertical.maximumRelativeValue = amount

        let group = UIMotionEffectGroup()
        group.motionEffects = [horizontal, vertical]
        vw.addMotionEffect(group)
    }

在自定义单元格类中使用以下命令调用

 addParallaxToView(vw: cellImageView)

0 个答案:

没有答案