Быстрая анимация - 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

Другие вопросы по тегам