UIDynamics를 사용하여 뷰들에 물리 시뮬레이션을 적용하기 – Swift
iOS 7.0부터 UIDynmic이라는 새로운 기술이 UIKit에 도입되었다. 이 기술은 UIView
요소에 대해서 키 프레임 애니메이션등으로 구현하기 힘든 자연스러운 움직임을 쉽게 구현할 수 있게 해주는데, 대략 다음과 같은 것들이 있다.
- iOS 9 이하에서 대기화면을 위로 쓸어올려 카메라를 열 때, 올라간 뷰가 다시 떨어지는 애니메이션 (자유 낙하)
- 위 예에서 떨어진 뷰가 화면 하단에 부딪히면서 통통 튀는 효과 (충돌, 자유 낙하)
- 뷰가 자연스럽게 특정한 방향으로 가속하면서 밀리는 효과 (iOS9의 대기화면을 위로 밀어올리는 효과)
- 뷰와 뷰가 마치 보이지 않는 스프링으로 연결된 것처럼 따라 움직이는 효과 (메시지 앱의 말풍선)
- 뷰가 특정한 위치로 끌려가는 듯 한 효과
이는 마치 2차원 UIView에 대해 각 뷰가 질량을 가지는 강체로 가정하고 중력, 질량가속도, 밀도, 탄성등을 적용한 물리 엔진에 의한 애니메이션 계산을 가능케 하는 것이다.더 보기 »UIDynamics를 사용하여 뷰들에 물리 시뮬레이션을 적용하기 – Swift