Xcode【Swift】スワイプ処理の実装

Xcode

Xcode【Swift】でスワイプ処理を実装する方法を説明します。

Xcode【Swift】でのスワイプ処理実装

ViewControllerクラス(この例の場合はGameViewControllerクラス)に次のコードを記載します。最初の宣言部分に”, UIGestureRecognizerDelegate “の記述を忘れずにしましょう。記述する場所は override func viewDidLoad() の中です。

//上スワイプ
let upSwipeGesture = UISwipeGestureRecognizer(
        target: self,
        action: #selector(GameViewController.gesSwipe(_:))
)
upSwipeGesture.direction = .up
self.view.addGestureRecognizer(upSwipeGesture)
        
//下スワイプ
let downSwipeGesture = UISwipeGestureRecognizer(
        target: self,
        action: #selector(GameViewController.gesSwipe(_:))
)
downSwipeGesture.direction = .down
self.view.addGestureRecognizer(downSwipeGesture)
        
//左スワイプ
let leftSwipeGesture = UISwipeGestureRecognizer(
        target: self,
action: #selector(GameViewController.gesSwipe(_:))
)
leftSwipeGesture.direction = .left
self.view.addGestureRecognizer(leftSwipeGesture)
        
//右スワイプ
let rightSwipeGesture = UISwipeGestureRecognizer(
        target: self,
        action: #selector(GameViewController.gesSwipe(_:))
)
rightSwipeGesture.direction = .right
self.view.addGestureRecognizer(rightSwipeGesture)

続けて、次のコードを記述します。実際にスワイプジェスチャーを検出した時に実行したい内容を記載します。(この場合はテキストを表示している)記述する場所は override func viewDidLoad() の外側です。

//スワイプ検出で処理する内容
@objc func gesSwipe(_ sender: UISwipeGestureRecognizer) {
        switch sender.direction {

        case .up://上スワイプ処理
            print("上スワイプ操作を検出")
        case .down://下スワイプ処理
            print("下スワイプ操作を検出")
        case .left://左スワイプ処理
            print("左スワイプ操作を検出")
        case .right://上スワイプ処理
            print("右スワイプ操作を検出")

        default:
            break
        }
}

以上で完了です。この例の場合は実行してスワイプすると、テキストが表示されます。