Хотя подклассы UIButton
- это не то, что я бы предпочел, анимационное действие, которое вы хотите выполнить для своей кнопки с помощью подкласса UIButton
, может быть достигнуто путем переопределения sendAction(_ action: Selector, to target: Any?, for event: UIEvent?)
Согласно комментариям в UIControl
классе (UIButton
наследуется от UIControl
)
отправить действие. первый метод вызывается для события и является
точка, в которой вы можете наблюдать или отменять поведение
class MyButton : UIButton {
override func sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) {
debugPrint("Am here")
//do all your animation stuff here
super.sendAction(action, to: target, for: event)
}
}
Таким образом, при каждом нажатии кнопки ваша анимация будет выполняться, а затем будет вызываться IBAction
. Надеюсь, это поможет