Получение параллакса через UIInterpolatingMotionEffect с неподвижным изображением в Swift - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь получить эффект параллакса на изображении в Swift.

Вместо изменения изображения при наклоне телефона назад и вперед, тем не менее, вы, похоже, смотрите под другим углом - что я считаю эффектом параллакса - изображение просто перемещается влево, вправо, вверх на фоне, когда вы наклоняетесь. Это не хочу, я хочу. Я хочу, чтобы изображение оставалось неподвижным на фоне. Может кто-нибудь предложить способ получить эффект параллакса с неподвижным изображением.

Изображение представляет собой UIImageView в tableviewCell. Он создается в раскадровке с выходом и ограничен по высоте, ширине (40 пт каждый) и внутри ячейки.

Вот код параллакса:

 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)
...