νμ¬ λ·°μ λν ν€νλ μ κΈ°λ° μ λλ©μ΄μ μ μ€μ ν μ μλ μ λλ©μ΄μ λΈλ‘ κ°μ²΄λ₯Ό μμ±
class func animateKeyframes(
withDuration duration: TimeInterval,
delay: TimeInterval,
options: UIView.KeyframeAnimationOptions = [],
animations: @escaping () -> Void,
completion: ((Bool) -> Void)? = nil
)
ν€νλ μ κΈ°λ° μ λλ©μ΄μ
- μ λλ©μ΄μ μ μμλΆν° λκΉμ§ μ€μν νλ μ(ν€νλ μ)μ λͺ μμ μΌλ‘ μ μνμ¬ μ λλ©μ΄μ μ μ μ΄νλ κΈ°μ
- κ° ν€νλ μμμ λ·° λλ κ°μ²΄μ μμ±(μμΉ, ν¬κΈ°, νμ λ±)μ μ€μ νκ³ , μμ€ν μ μ΄λ¬ν ν€νλ μ μ¬μ΄μ μ€κ° νλ μμ μλμΌλ‘ κ³μ°νμ¬ λΆλλ¬μ΄ μ λλ©μ΄μ ν¨κ³Όλ₯Ό μμ±ν¨
ν€νλ μ(Keyframes)
: μ λλ©μ΄μ μ μμκ³Ό λμ λνλ΄λ μ€μν μμ 보κ°(Interpolation)
: ν€νλ μ μ¬μ΄μ μ€κ° νλ μμ μμ€ν μ΄ μλμΌλ‘ κ³μ°νμ¬ κ°μ²΄μ μμ±μ λΆλλ½κ² μ νμκ° μ μ΄(Time Control)
: κ° ν€νλ μμ μ λλ©μ΄μ μ μ§ν μκ°μ λνλ΄λ μκ°κ°κ³Ό μ°κ²°λ¨μ»€λΈ λ° μ΄μ§(Easing)
: ν€νλ μ κ°μ 보κ°μ μ¬μ©λλ 곑μ μ μ‘°μ νμ¬ μ λλ©μ΄μ μ μλμ ν¨κ³Όλ₯Ό μ‘°μ ν¨
addKeyframe(withRelativeStartTime:relativeDuration:animations:)
λ©μλλ₯Ό ν λ² μ΄μ νΈμΆνμ¬ ν€νλ μ μκ°κ³Ό μ λλ©μ΄μ
λ°μ΄ν°λ₯Ό μΆκ°ν΄μΌν¨animations
λΈλ‘ λ΄μμ μ΄λ ν ν€νλ μλ μΆκ°νμ§ μμΌλ©΄, μ λλ©μ΄μ
μ νμ€ μ λλ©μ΄μ
λΈλ‘μ²λΌ μμμμ λκΉμ§ μ§νλ¨class func animateKeyframes(
withDuration duration: TimeInterval,
delay: TimeInterval,
options: UIView.KeyframeAnimationOptions = [],
animations: @escaping () -> Void
) async -> Bool
duration
: μ 체 μ λλ©μ΄μ
μ μ§μ μκ°μΌλ‘, μ΄ λ¨μλ‘ μΈ‘μ λ¨. μμ κ°μ΄λ 0μ μ§μ νλ©΄ λ³κ²½ μ¬νμ΄ μ¦μ μ λλ©μ΄μ
μμ΄ μ μ©λ¨.delay
: μ λλ©μ΄μ
μμ μ μ λκΈ°ν΄μΌ νλ μκ°(μ΄ λ¨μ)μ μ§μ ν¨options
: μ΄λ»κ² μ λλ©μ΄μ
μ μνν μ§λ₯Ό λνλ΄λ μ΅μ
μ λ§μ€ν¬λ§μ€ν¬
- μ¬λ¬ μ΅μ λλ μνλ₯Ό μ‘°ν©νκ±°λ μ€μ νκΈ° μν΄ μ¬μ©λλ λΉνΈ ν¨ν΄
animations
: λ·°μ 컀λ°ν λ³κ²½ μ¬νμ ν¬ν¨νλ λΈλ‘ κ°μ²΄. μΌλ°μ μΌλ‘ μ΄ λΈλ‘ λ΄μμ addKeyframe(withRelativeStartTime:relativeDuration:animations:)
λ©μλλ₯Ό ν λ² μ΄μ νΈμΆν¨. λν, λ³κ²½ μ¬νμ΄ μ 체 κΈ°κ° λμ μ λλ©μ΄μ
νλκΈ°λ₯Ό μνλ κ²½μ° λ·° κ° μ체λ₯Ό μ§μ λ³κ²½ν μλ μμ. μ΄ λΈλ‘μ 맀κ°λ³μλ₯Ό λ°μ§ μμΌλ©° λ°ν κ°μ κ°μ§ μμμΌ ν¨. μ΄ λ§€κ°λ³μμλ nil κ°μ μ¬μ©νλ©΄ μλ¨completion
: μ λλ©μ΄μ
μνμ€κ° μ’
λ£λ λ μ€νν λΈλ‘ κ°μ²΄. μ΄ λΈλ‘μ λ°ν κ°μ κ°μ§ μμΌλ©°, μ λλ©μ΄μ
μ΄ μλ£λμλμ§ μ¬λΆλ₯Ό λνλ΄λ λ¨μΌ Bool
μΈμλ₯Ό λ°μ. μ λλ©μ΄μ
μ μ§μ μκ°μ΄ 0μΈ κ²½μ°, μ΄ λΈλ‘μ λ€μ μ€ν 루ν μ£ΌκΈ°μ μμ μμ μ€νλ¨ μ΄ λ§€κ°λ³μμλ nil κ°μ μ¬μ©ν μ μμUIView.KeyframeAnimationOptions
πApple Docs: animateKeyframes(withDuration:delay:options:animations:completion:)
πApple Docs: UIView.KeyframeAnimationOptions