· 성취/개선/학습한 내용 🏆
- RxSwift
- BehaviorSubject
- bind
- UIViewAinamtor -fractionComplete
· 경험한 이슈 😫
- Animation을 활용해서 CollectionViewCell의 색을 점차 바꾸는 작업을 했었다. 그런데 앱이 백그라운드로 바뀌었을 때 애니메이션을 멈추고, 다시 포그라운드 상태로 돌아와서 재개하니 애니메이션은 실행되는 건지 아닌지는 모르겠지만 애니메이션이 다 끝난 상태로 cell의 색이 다 변경이 되어 있었다. 추측을 해보자면 UIViewPropertyAnimator은 원본을 복사해서 애니메이션 효과를 주는 것인데 앱이 백그라운드 상태로 가버리니 UI를 변경하는 애니메이션은 끝내버리는 것 같다. 정수형 변수나 실수형 변수를 바꿔주는 애니메이션은 그대로 멈출 수도 있지만, UI는 백그라운드 상태로 가버리는 순간 조정을 할 수 없게 돼버리는 것 같다. 그래서 이를 해결하기 위해 진행상황을 변수로 기록하고, 진행상황에 따라 Cell의 색을 변경하고 남은 시간을 계산해 마저 애니메이션을 주는 작업을 통해 해결을 했다.
· 모르는 부분???? 🥺
- UI는 왜 앱이 백그라운드 상태로 가면 원하는 시점에 멈추지 않고 끝나버리는 걸까?
· 기술적으로 어려웠던 부분 😵😵💫
- 애니메이션 다루기 + 백그라운드 / 포그라운드 상태까지 고려를 하다보니 예상치 못한 버그가 많이 발생했다. 또 애니메이션이 하나가 아니라 여러 개이고 또 두 가지 상태에서 이 부분을 다루다 보니 고려해야 하는 부분과 순서가 굉장히 많아서 어려웠었다.
· 생각보다 덜/더 걸리는 작업과 그 이유 😱/🥴
- 우선 애니메이션을 너무나 쉽게 생각했던 것 같다. 그래서 고려할 점이 이렇게 많고 상황을 다 고려해서 코딩해야한다는 점을 간과하고 시작해서 생각보다 더 오래 걸리는 것 같다.
· 느낀점 🌟
애니메이션.... 너무나도 어렵다... 하지만 제대로 사용만 할 수 있다면 가시적으로 줄 수 있는 임팩트가 크고, 코딩하는 나도 재미를 느끼는 기술이다. 이번 경험을 통해 다음에 애니메이션을 사용할 땐 좀 더 효율적으로 할 수 있고 공수산정도 더 객관적으로 할 수 있을 것 같다.
'# TIL (Today I Learned)' 카테고리의 다른 글
TIL - 2024.04.02 화요일 (향후 계획) (0) | 2024.04.02 |
---|---|
TIL - 2024.04.01 월요일 (개인프로젝트 29일차) (0) | 2024.04.01 |
TIL - 2024.03.27 수요일 (개인프로젝트 24일차) (0) | 2024.03.27 |
TIL - 2024.03.26 화요일 (개인프로젝트 23일차) (0) | 2024.03.26 |
TIL - 2024.03.25 월요일 (개인프로젝트 22일차) (0) | 2024.03.25 |