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
}
}
以上で完了です。この例の場合は実行してスワイプすると、テキストが表示されます。