Проблема со сменой позиции UIView


#1
if topNotificationView.frame.origin.y > -70 { return }
let showAnimation = { self.topNotificationView.frame.origin.y += 70 }
let hideAnimation = { self.topNotificationView.frame.origin.y -= 70 }

UIView.animate(withDuration: 1, animations: showAnimation) { (true) in         
    UIView.animate(withDuration: 1, delay: 3, options: .curveEaseIn, animations: hideAnimation) {
        (true) in
    }
}

Изначальный фрейм view – 0, -70, UIScreen.main.bounds.width, 70. Код выше позволяет вьюшке “выплыть” сверху вниз при нажатии на кнопку и уйти обратно. Условие нужно для того, чтобы при нескольких нажатиях на кнопку вью не плыло дальше, чем нужно, но оно не работает. Почему это может происходить?