Button Bouncing Animation
ボタンをクリックしたときにポップアップできるアニメーションを作ります.
[例](img butotn)
[例](img butotn)
class ButtonAnimationViewController: UIViewController {
let button: UIButton = {
let button = UIButton()
button.layer.cornerRadius = 12
button.backgroundColor = UIColor.init(red: 48/255, green: 155/255, blue: 255/255, alpha: 1)
button.setTitle("Am I Animating?", for: .normal)
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
let constraints = [
button.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -80),
button.centerXAnchor.constraint(equalTo: view.centerXAnchor),
button.widthAnchor.constraint(equalToConstant: 200),
button.heightAnchor.constraint(equalToConstant: 60)
]
NSLayoutConstraint.activate(constraints)
button.addTarget(self, action: #selector(buttonSelected(_:)), for: .touchUpInside)
}
@objc fileprivate func buttonSelected(_ sender: UIButton){
print("select")
animateView(sender)
}
// animating
fileprivate func animateView(_ viewToAnimate: UIView) {
//처음 눌렀을때
UIView.animate(withDuration: 0.15,
delay: 0,
usingSpringWithDamping: 0.3,
initialSpringVelocity: 0.5,
options: .curveEaseIn,
animations: {
viewToAnimate.transform = CGAffineTransform(scaleX: 0.92, y: 0.92)
}) { (_) in
//원상복구!
UIView.animate(withDuration: 0.15,
delay: 0,
usingSpringWithDamping: 0.5,
initialSpringVelocity: 0.5,
options: .curveEaseIn,
animations: {
viewToAnimate.transform = CGAffineTransform(scaleX: 1, y: 1)
}, completion: nil)
}
}
}
Reference
この問題について(Button Bouncing Animation), 我々は、より多くの情報をここで見つけました https://velog.io/@heunb/Button-Bouncing-Animationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol