6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UIInterpolatingMotionEffectの簡単実装【デバイスの傾きによってViewを動かす】

Last updated at Posted at 2023-06-18

はじめに

UIInterpolatingMotionEffectをつかってデバイスの傾きによってViewを動かせたのでメモ

こんな感じに動きます

ezgif-1-346bc396a9.gif

実装

ストーリーボードでこんな感じでレイアウトを組みます。
中央に配置された赤い色のmotonViewを動かします
スクリーンショット 2023-06-19 0.04.12.png

ViewContorollerのコード

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var motionView: UIView! {

        didSet {
            // 水平方向
            let xMotion = UIInterpolatingMotionEffect(keyPath: "center.x", type: UIInterpolatingMotionEffect.EffectType.tiltAlongHorizontalAxis)
            // 左右の動きの幅
            xMotion.minimumRelativeValue = -200.0
            xMotion.maximumRelativeValue = 200.0
            // 垂直方向
            let yMotion = UIInterpolatingMotionEffect(keyPath: "center.y", type: UIInterpolatingMotionEffect.EffectType.tiltAlongVerticalAxis)
            // 上下の動きの幅
            yMotion.minimumRelativeValue = -200.0
            yMotion.maximumRelativeValue = 200.0
            // モーションエフェクトの指定
            motionView.motionEffects = [xMotion, yMotion]

        }
    }

}

これで実機でビルドすればmotionViewがデバイスの傾きによって動きます!!!

参考

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?