OptionSet 프로토콜 - 여러가지의 옵션을 가지거나, 옵션이 없는 경우에도 사용할 수 있게 해주는 프로토콜
Sendable 프로토콜 - ThreadSafe한 친구라는 것을 알리는 프로토콜
채택
- UIView.AnimationOptions 와 UIView.KeyframeAnimationOptions 의 차이점을 알아보고, UIView.AnimationOptions은 어떤 타입으로 정의되어 있는지, 준수하는 프로토콜은 어떤 프로토콜인지 알아봅시다
1. AnimationOptions
- 블록 오브젝트 기반 애니메이션에서 사용할 수 있는 옵션이다.
2. KeyframeAnimationOptions
- 키프레임 기반 애니메이션에서 사용할 수 있는 옵션이다.
3. AnimationOptions은 어떤 타입인가?
- Struct타입
4. AnimationOptions이 준수하는 프로토콜은 무엇인가?
- OptionSet: 여러가지의 옵션을 가지거나, 옵션이 없는 경우에도 사용할 수 있게 해주는 프로토콜
- Sendable: ThreadSafe한 객체라는 것을 알리는 프로토콜
- UIView의 transform 프로퍼티에 대해 알아보고, 해당 프로퍼티로 어떤 애니메이션 효과를 줄 수 있는지
https://developer.apple.com/documentation/uikit/uiview/1622459-transform
The most direct way to manipulate your drawing—whether by movement, scaling, or rotation—is to call the functions:
- translateBy(x:y:) - 위치이동
- scaleBy(x:y:) - 크기조절
- rotate(by:) - 회전
- 애니메이션에서 자주 사용하는 Timing Function의 종류에는 무엇이 있는지 알아봅시다

아래 예시 애니메이션 두 가지를 구현해봅니다
Hint : Keyframe animation, transform