안녕하세요 iOS 개발자 워너비 루크입니다!
오늘은 UIView Tap 에 대해 애니메이션을 적용하는 방법에 대해서 알아보겠습니다!
사용자가 탭을 하였을 때 탭이 제대로 입력되었는지를 사용자가 느끼기 위해서는 애니메이션을 추가해주는 것이 적절하죠!
아래 처럼욯
귀엽습니다.
간단해요!
@IBAction 을 스토리보드로 부터 가져와서 안에 아래와 같은 코드를 복붙해주면 된답니다!
@IBAction func buttonTapped(_ sender: UIButton) {
sender.transform = CGAffineTransform(scaleX: 1.1, y: 1.1)
UIView.animate(withDuration: 2.0,
delay: 0,
usingSpringWithDamping: CGFloat(0.30),
initialSpringVelocity: CGFloat(3.0),
options: UIView.AnimationOptions.allowUserInteraction,
animations: {
sender.transform = CGAffineTransform.identity
},
completion: { Void in() }
)
}
Swift
복사
귀엽긴 하지만
복붙하기만 하면 재미없죠...!
커스터마이징을 위한 부가 설명
UIView 객체에는 모두 transform 이라는 프로퍼티가 존재해요 !
이 프로퍼티에 CGAffineTransform 객체를 전달해 줌으로써 뷰 객체 frame 의 크기를 변형시키거나 회전시킬 수 있습니다
CGAffineTransform(scaleX: 1.1, y: 1.1) // 크기를 X축으로 1.1 배 Y축으로 1.1배
Swift
복사
CGAffineTransform(rotationAngle: 360) // 360도 회전
Swift
복사
위치는 안돼요!
뷰 객체의 위치를 수정하려면 UIView 객체의 center 프로퍼티를 사용해야 한답니다
애니메이션 적용
UIView.animate(withDuration: 2.0,
delay: 0,
usingSpringWithDamping: CGFloat(0.20),
initialSpringVelocity: CGFloat(6.0),
options: UIView.AnimationOptions.allowUserInteraction,
animations: {
sender.transform = CGAffineTransform.identity
},
completion: { Void in() }
)
Swift
복사
이 부분은 다음 포스팅에서 다루어 보도록 하겠습니다!