Boost‐SwiftUI‐2024.08.06(화).md - BoostSwiftUI/SwiftUI GitHub Wiki
원본 텍스트 파일
스터디 시간 및 참여자
- 2024.08.06 화 오후 9:06 ・ 123분 0초
- 권승용 김대황 정다함 유정주 윤동주 홍승현
- 클로버노트를 이용해 회의 내용을 기록하고, GPT를 이용해 요약, 편집했습니다.
한 줄 요약
애니메이션 트랜잭션, 모디파이어, Dependency Graph, 그리고 Animatable
의 적용 순서와 원리에 대해 논의했습니다.
WWDC 애니메이션 후기
- 애니메이션 트랜잭션이 아래쪽부터 위로 적용되는 것이 인상 깊었다는 의견이 있었습니다.
- 함수 호출이 보통 위에서 아래로 진행되지만, 애니메이션은 반대로 작동한다는 점이 흥미로웠습니다.
- 바깥쪽에 위치한 뷰가 애니메이션 적용 순서의 맨 아래에 있는 이유가 뷰의 감싸는 구조 때문이라는 의견이 나왔습니다.
애니메이션 트랜잭션 적용 순서
- 애니메이션 트랜잭션은 모디파이어 적용 순서와 다르게 작동합니다. 모디파이어는 위에서 아래로 순서대로 적용되지만, 애니메이션은 아래에서 위로 적용됩니다.
- 트랜잭션은 동작 코드의 애니메이션 관리를 담당하는 부분이며, 순서대로 적용되는 모디파이어와는 다르게 동작합니다.
Dependency Graph 적용 순서 (왜 가장 아래쪽 modifier의 View가 먼저 나올까?)
- Dependency Graph가 업데이트되는 과정에서 가장 바깥 모디파이어부터 값이 변하는 것으로 설명되었습니다.
- 애니메이션은 반대로 타고 갈 수 있지만, Dependency Graph는 뷰의 그려지는 순서와 관련이 있어 순서대로 적용된다고 이해됩니다.
- 또한, Dependency Graph의 노드와 코드 구조체 뷰를 분리해서 봐야 할 필요성을 언급했습니다.
현업에서 커스텀 애니메이션을 직접 쓰나요? Animatable은 어떨 때 쓰셨나요?
- 커스텀 애니메이션을 사용하는 일이 드물다는 의견이 있었습니다.
Animatable
은 원래 애니메이션을 지원하지 않는 경우, 애니메이션을 지원하고 싶을 때 사용됩니다.- 내부적으로는
Animatable
의 값에 특정 데이터를 넣어 사용합니다.
animation modifier 적용 순서
animation
modifier는 아래에서 위로 적용됩니다. 이는 다른 모디파이어들이 위에서 아래로 적용되는 것과는 반대입니다.animation
이 적용되는 모디파이어와 그렇지 않은 모디파이어의 차이를 이해하는 것이 중요합니다. 예를 들어, 백그라운드나 프레임은 위에서 아래로 적용되지만, 애니메이션이 가능한 모디파이어들은 아래에서 위로 트랜잭션이 적용됩니다.
ModifiedContent Generic 내용
ModifiedContent
는 모디파이어가 뷰에 적용되었을 때 새롭게 생성되는 뷰의 타입입니다.- 이를 통해 모디파이어가 적용된 후에도 원래 뷰의 형태를 유지하면서 다양한 변경을 적용할 수 있습니다.