Я создаю простой калькулятор и поместил пару кнопок с цифрами в @IBAction. Я обращаюсь к sender.title нажатой кнопки, чтобы обновить метку ввода следующим образом:
@IBAction func numberButtonTapped(_ sender: UIButton) {
guard let numberButton = sender.title(for: .normal) else {return}
updateInput(num: numberButton)
}
Теперь я хотел бы анимировать каждую нажатую кнопку с помощью простого CGAFFineTransform (я знаю, как это делается), и я могу поместить анимацию в @IBAction, и, очевидно, это работает:
@IBAction func numberButtonTapped(_ sender: UIButton) {
guard let numberButton = sender.title(for: .normal) else {return}
sender.transform = CGAffineTransform(scaleX: 1.2, y: 1.2) // completion handler to reverse the animation
updateInput(num: numberButton)
}
Но я хотел бы поместить анимацию в другую функцию, чтобы иметь доступ к ней из разных @IBActions и не пришлось бы снова и снова переписывать код, но я понятия не имею, как я могу передать "отправитель" в новая функция. Итак, как мне сообщить новой функции (назовем ее animateButton()), какой отправитель был нажат, чтобы sender.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)... знал бы, какую кнопку анимировать?
Спасибо