Мне нужно, чтобы мой NSButton
отвечал на обычные клики, а также на длительные нажатия. Я добавляю NSPressGestureRecognizer
так:NSPressGestureRecognizer вызывается до минимумаPressDuration
override func viewDidLoad() {
super.viewDidLoad()
let gr = NSPressGestureRecognizer()
gr.minimumPressDuration = 1
gr.action = #selector(handleLongPress)
button.addGestureRecognizer(gr)
}
func handleLongPress(gr: NSPressGestureRecognizer) {
if gr.state == .Began {
Swift.print("long press")
}
}
К сожалению, handleLongPress
случайно срабатывает даже при коротких одиночных щелчков или двойных щелчков. Это происходит, даже если я установил minimumPressDuration
в более высокие значения.
Я пробовал играть с shouldBeRequiredToFailByGestureRecognizer
, но это не решение проблемы.
Есть ли что-то у меня с кодом?