[SwiftUI] CADisplayLink를 활용한 부드러운 ProgressView 애니메이션 구현 트러블슈팅
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 서론애플리케이션에서 진행률을 시각적으로 표현할 때, SwiftUI에서는 기본으로 제공하는 기본 컴포넌트인 ProgressView를 사용해서 해당 UI를 구현하게 됩니다. 하지만 이러한 기본 애니메이션 방식으로는 시간 기반으로 자연스럽게 진행되는 부드러운 애니메이션을 구현하기 어렵습니다. 이번 포스팅에서는 SwiftUI의 애니메이션 한계로 겪었던 진행률 애니메이션이 끊겨 보이는 문제를 분석하고, UIkit의 CADisplayLink를 활용하여 해결한 경험에 대해서 정리를 해보려고 합니다. 문제 상황처음에 구현하고자 했던 기능은 진행률이 0%에서 100%까지 7초 동안 자연스럽게 증가하게 하는 것이었습니다. 기본적으로 SwiftUI에서는 다음과 같은 방식으로 애니메이션을 줄 ..
[SwiftUI] ProgressView 생성하기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵  이번 포스팅에서는 SwiftUI에서 작업 완료까지의 진행률을 보여줄 수 있는 ProgressView를 만드는 방법에 대해서 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다! ProgressView란?먼저 개념부터 짚고 넘어가겠습니다.  ProgressView는 이름에서 유추할 수 있듯이 앱 내에서 작업이 진행되고 있는 정도를 시각적으로 표시하는 View입니다. 이러한 ProgressView가 필요한 순간은 여러가지가 있겠지만 대표적인 예시로는 파일 다운로드 진행 상태를 앱에 표시하거나, 작업이 진행 중이지만 얼마나 오래 걸릴지 알 수 없을 때 등 다양한 상황에서 사용됩니다. ProgressView 스타일SwiftUI에서 ProgressView 스타일은 선형 스타일, 원..