Я создаю приложение для резюме (в основном для удовольствия) и, похоже, не может заставить распознаватель жестов использовать для меня работу. Я хотел бы, чтобы одна метка отображала информацию и меняла ее, в зависимости от того, на какой ярлыке названия они нажимают ниже. Вот код, который я написал:UITapGestureRecognizer работает только с последним номером
import UIKit
class WorkHistoryViewController: UIViewController {
// MARK: Properties
@IBOutlet weak var jobOne: UILabel!
@IBOutlet weak var jobTwo: UILabel!
@IBOutlet weak var jobThree: UILabel!
@IBOutlet weak var jobFour: UILabel!
@IBOutlet weak var jobFive: UILabel!
@IBOutlet weak var workHistoryDescriptionLabel: UILabel!
let tapRec = UITapGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
tapRec.addTarget(self, action: "tappedLabel")
jobOne.addGestureRecognizer(tapRec)
jobTwo.addGestureRecognizer(tapRec)
jobThree.addGestureRecognizer(tapRec)
jobFour.addGestureRecognizer(tapRec)
jobFive.addGestureRecognizer(tapRec)
}
// MARK: Methods
func tappedLabel() {
workHistoryDescriptionLabel.text = "It worked!"
}
}
То, что происходит в том, что последний ярлык, чтобы иметь addGestureRecognizer() вызывается в viewDidLoad() является единственным, который работает. Если я прокомментирую последнюю строку, тогда будет только надпись над ней. Я также попытался включить взаимодействие с пользователем на каждом из этикеток программно и на инспекторе атрибутов и ничего не изменил.
вы должны добавить различные tapgestures на каждой этикетке – techloverr
Вы выделяя его только один раз и как предполагается, будет работать на каждой этикетке? –