起点が「タップ」と「長押し」の2つで、実行するのは1つのメソッドということでしょうか。
実装すると下記のようになり、「aのメソッドを複数作らなければいけない」ということにはならないかと思います。
swift
1class YourViewController: UIViewController, UIGestureRecognizerDelegate {
2 @IBOutlet var button: UIButton
3
4 override func viewDidLoad() {
5 super.viewDidLoad()
6
7 let onTapRecognizer: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(a(_:)))
8 onTapRecognizer.delegate = self
9 self.button.addGestureRecognizer(onTapRecognizer)
10
11 let onLongPressRecognizer: UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(a(_:)))
12 onLongPressRecognizer.delegate = self
13 self.button.addGestureRecognizer(onLongPressRecognizer)
14 }
15
16 @objc func a(_ sender: UIGestureRecognizer) {
17 print("(sender.state)")
18 }
19}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/06 09:14