Я упомянул о многих других проблемах с кнопкой нажатия и удержания, но с Swift мало что связано. У меня есть одна функция, подключенная к кнопке с помощью события touchUpInside:
@IBAction func singleFire(sender: AnyObject){
//code
}
... и еще одна функция, предназначенная для вызова функции выше, когда одна и та же кнопка удерживается нажатой, и останавливается, когда кнопка больше не нажата:
@IBAction func speedFire(sender: AnyObject){
button.addTarget(self, action: "buttonDown:", forControlEvents: .TouchDown)
button.addTarget(self, action: "buttonUp:", forControlEvents: .TouchUpOutside)
func buttonDown(sender: AnyObject){
timer = NSTimer.scheduledTimerWithTimeInterval(0.3, target: self, selector: "singleFire", userInfo: nil, repeats: true)
}
func buttonUp(sender: AnyObject){
timer.invalidate()
}
}
Я не уверен, что я делаю неправильно, и я не знаю, как настроить сенсорные события на ту же кнопку для другой функции.