         let duration = isShow ? 0.5 : 0.2
         buttonsAnimationIsShow(isShow: isShow, duration: duration)
 
-        tapBounceAnimation()
+        tapBounceAnimation(duration: 0.5) { [weak self] _ in self?.isBounceAnimating = false }
         tapRotatedAnimation(0.3, isSelected: isShow)
     }
 

        }
    }

    fileprivate func tapBounceAnimation() {
        transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
        UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 5,
                       options: UIViewAnimationOptions.curveLinear,
                       animations: { () -> Void in
                           self.transform = CGAffineTransform(scaleX: 1, y: 1)
                       },
                       completion: nil)
    }

    fileprivate func tapRotatedAnimation(_ duration: Float, isSelected: Bool) {


        buttonsAnimationIsShow(isShow: false, duration: duration, hideDelay: hideDelay)

        tapBounceAnimation(duration: 0.5)
        tapRotatedAnimation(0.3, isSelected: false)
    }

