Быстрая анимация - Touchdown не работает хорошо
Я пытаюсь создать де тот же эффект, что и приложение "Музыка":
Когда я нажимаю на кнопку, позади нее вид, а когда кнопка больше не фокусируется, вид скрывается. Я делаю это с помощью функций TouchUpInside и TouchDown.
@IBAction func pressed(_ sender: UIButton) {
UIView.animate(withDuration: 0.25, animations: {
self.backgroundMoreView.alpha = 0.0
self.backgroundMoreView.transform = CGAffineTransform(scaleX:
1.2, y: 1.2)
sender.transform = CGAffineTransform.identity
}) { (_) in
self.backgroundMoreView.transform = CGAffineTransform.identity
}
}
@IBAction func unpressed(_ sender: UIButton) {
UIView.animate(withDuration: 0.25) {
self.backgroundMoreView.alpha = 0.3
sender.transform = CGAffineTransform(scaleX: 0.8, y:
0.8)
}
}
Проблема в том, что, когда я нажимаю и удерживаю фокус, а затем провожу пальцем по кнопке, функция unpressed() не вызывается, и кнопка остается "сфокусированной".
Я не знаю, как это исправить.
1 ответ
Это должно решить проблему:
button.addTarget(self, action: #selector(unpressed(sender:)), for: .touchUpOutside)
Или подключите его с помощью раскадровки к тому же действию (без нажатия) с touchUpOutside