UIBarButtonItem Долгое нажатие / короткое нажатие - PullRequest
0 голосов
/ 27 января 2019

Я просмотрел существующие вопросы по этой теме, и, похоже, нет ответов после iOS 11 (которая, казалось, сломала распознаватели жестов).

Есть ли способ обнаружить короткое нажатие / длинное нажатие на элементе UIBarButtonItem? Apple использует эту функцию в Pages, Numbers, Keynote для Undo / Redo.

1 Ответ

0 голосов
/ 27 января 2019

Попробуйте это

@IBOutlet weak var btn: UIButton!

override func viewDidLoad() {

    let tapGesture = UITapGestureRecognizer(target: self, #selector (tap))  //Tap function will call when user tap on button
    let longGesture = UILongPressGestureRecognizer(target: self, #selector(long))  //Long function will call when user long press on button.
    tapGesture.numberOfTapsRequired = 1
    btn.addGestureRecognizer(tapGesture)
    btn.addGestureRecognizer(longGesture)
}

@objc func tap() {
     print("Single tap done")
}

@objc func long() {
     print("Long gesture recognized")
}
...