いくつかのUILabelsで使用するtapGestureRecognizerを1つだけ作成しようとしています(失敗しています)。複数のUILabelsに対してtapGestureRecognizerを1つだけ作成する方法は?
今、私はviewDidLoadのすべてのラベルに対して別々のtapGestureRecognizerを作成し、それを適切なラベルに追加しています。すべてのタッチが明らかに異なる機能を呼び出す必要があるため、この問題に遭遇しました。
これは私がそれらを作成する方法である:
@IBOutlet weak var buttonOne: UILabel!
@IBOutlet weak var buttonTwo: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
//tapGestureRecognizer for buttonOne
buttonOne.isUserInteractionEnabled = true
let oneGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MainViewController.buttonOneAction))
buttonOne.addGestureRecognizer(oneGestureRecognizer)
//tapGestureRecognizer for buttonTwo
buttonTwo.isUserInteractionEnabled = true
let twoGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MainViewController.buttonTwoAction))
buttonTwo.addGestureRecognizer(twoGestureRecognizer)
...
彼らは正常に動作しますが、どこでどのように私はちょうど1 tapGestureRecognizerを作成して、別のアクションを各ラベルにのviewDidLoadでそれを追加することができますか?
なぜラベルの代わりにボタンを使用しませんか? – kirander