← 테크곳간 목록으로

더스윙 기술 블로그 · 2025. 11. 05.

스윙 iOS에서 더 개선된 애니메이션 시스템 만들기

AI 엔지니어링 브리핑

스윙은 iOS 기본 애니메이션의 예측하기 어려운 동작을 줄이고 다양한 화면 요소를 안정적으로 제어하기 위해 자체 애니메이션 시스템을 만들었습니다.

문제 & 배경

문제 & 배경: UIView.animate와 UIViewPropertyAnimator는 레이아웃 갱신까지 의도치 않게 움직이게 하거나 글자 색처럼 즉시 바뀌는 속성을 부드럽게 처리하지 못하고, 애니메이션을 개별적으로 취소하기도 어려웠습니다.

기술 & 해결책

기술 & 해결책: 화면이 새로 그려질 때마다 실행되는 CADisplayLink를 중앙에서 관리하고, SWAnimation이 매 순간 진행도를 계산해 크기·색상 등 원하는 값을 직접 바꾸도록 하여 애니메이션 범위와 취소를 명확하게 만들었습니다.

교훈 & 주의점

교훈 & 주의점: 복잡한 화면 갱신과 애니메이션 처리를 내부에 숨기면 개발자는 필요한 값과 효과에 집중할 수 있으며, 같은 화면 갱신 정보를 활용해 FPS를 측정하고 성능이 떨어지는 부분도 찾을 수 있습니다.

원문 읽기 ↗
내용이 비슷해요

내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.