【Swift】UIGestureRecognizerで画面全体にタップイベントを追加する
出力結果
解説
・UIGestureRecognizerをViewに実装し、画面タップ時の処理を実装する
・出力結果には、画面を4回タップしたので、4つの"タップされました"が表示されている
※注意
・LabelやButtonなどのUIにではなく、view(画面全体)にタップアクションを追加したことをお忘れなく。
・LabelやImageViewにタップイベントを追加するコードはこちら。
↓
ストーリーボード
ソースコード
import UIKit class ViewController: UIViewController,UIGestureRecognizerDelegate { @IBOutlet weak var label: UILabel! override func viewDidLoad() { super.viewDidLoad() //UIGestureのインスタンス let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapped(_:))) //UIGestureのデリゲート tapGesture.delegate = self //viewに追加 self.view.addGestureRecognizer(tapGesture) } //Labelをタップした時の処理 @objc func tapped(_ sender: UITapGestureRecognizer) { //タップ直後に中身を実行 if sender.state == .ended { //Labelをタップしたら、デバッグエリアに"タップされました"を表示 print("タップされました") } } }