2022.10.22 (ν )
μ€λμ μ λλ©μ΄μ μ μμ§ μ±κ³΅νμ§ λͺ»νμ΅λλ€. γ κ±°μ 80%κ°λ μ±κ³΅ν κ² κ°μλ° λ§€λλ½κ² μ΄μ΄μ§μ§κ° μμμ μ’ λ μλ΄μΌν κ² κ°μμ. 곡λΆν λ΄μ©μ λΈλ‘κ·Έμ μμ±νμ΅λλ€. (μ°μ΅μ΄μμ λΏ μ§μ§ ꡬνν μ λλ©μ΄μ μ μλμμ.)
KeyFrameAnimation
ν΄λμ€μ νλ‘νΌν°λ€μ μ΄ν΄λ³΄κ² λμμ΅λλ€. fillMode
/ keyTimes
/ timeOFfset
λ±λ±.. μ λλ©μ΄μ
μκ°κ³Ό κ΄λ ¨λ νλ‘νΌν°λ€μ΄ λ§μμ Core Animationμ μκ°κ³Ό κ΄λ ¨λ λ¬Έμλ₯Ό μ½μ΄λ΄€μ΅λλ€. κ·Όλ° μ΄ λ΄μ©μ΄ μ‘°κΈ μ΄λ ΅κ³ 볡μ‘ν΄μ μ λΆλ μ΄ν΄νμ§ λͺ»νμ§λ§ λ΄μΌλ μ½μ΄λ΄μ λλλ‘ λ€ μ΄ν΄ν΄μΌ ν κ² κ°μ΅λλΉ
-
values
: An array of objects that specify the keyframe values to use for the animation. μ λλ©μ΄μ μ μ¬μ©λ keyframe κ°λ€μ μ§μ ν΄μ€λλ€.CAKeyframeAnimation
μμ μ λλ©μ΄μ μ μ£ΌκΈ° μν΄μ κΌ νμν κ°μ λλ€. μ΄ κ°μpath
νλ‘νΌν°κ° nilμΌ λλ§ μ¬μ©κ°λ₯ν©λλ€! λμμ μ¬μ©νλ©΄ X. -
keyTimes
: An optional array ofNSNumber
objects that define the time at which to apply a given keyframe segment. 0~1 μ¬μ΄μ μ«μλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ λλ€. μμμ μ€ valuesλ₯Ό μΈμ μ λλ©μ΄μ μ μ€ μ§ νμ΄λ°κ³Ό κ΄λ ¨λ μμμ λλ€.values
μ λ°°μ΄κ³Ό κ°μ κ°μλ₯Ό κ°μ§κ±°λpath
νλ‘νΌν°μ control pointμ κ°μκ° κ°μμΌ μλλλ‘ λμν©λλ€. μ΄ κ°μcalucationMode
νλ‘νΌν°μ μ°κ΄μ΄ κΉμ΅λλ€.calucationMode
κ° linear, cubicμ΄λΌλ©΄, μμ κ·μΉκ³Ό μΌμΉν΄μΌν©λλ€. (κ°μκ° κ°μμΌν¨. μ²μκ³Ό λ§μ§λ§ κ°μ 0κ³Ό 1) λ§μ½ discreteμ΄λΌλ©΄ κ°μλ³΄λ€ νλκ° λ λ§μμΌν©λλ€. cubicPaced λλ pacedλΌλ©΄ μ΄ νλ‘νΌν°λ 무μλ©λλ€. μ΄ κ·μΉμ μ§ν€μ§ μμ κ²½μ°μλ μ΄ νλ‘νΌν°λ 무μλ©λλ€. -
fillMode
: Determines if the receiverβs presentation is frozen or removed once its active duration has completed. μ λλ©μ΄μ μ μμ§μμ΄ λλ¬μ λ, ν΄λΉ λ μ΄μ΄μ νλ μ ν μ΄μ , μ¦ λ³΄μ¬μ§λ κ²μ λ©μΆκ±°λ νΉμ μ κ±°λκ±°λ νΉμ λ¨μμκ±°λλ₯Ό μ ν΄μ£Όλ νλ‘νΌν°μ λλ€. backwards, forwards, removed, bothκ° μλλ° μ΄κ²λ CAMediaTiming νλ‘ν μ½κ³Ό κ΄λ ¨μ΄ μμ΅λλ€.
CAMediaTiming νλ‘ν μ½μ μ λλ©μ΄μ μ μ£Όλλ° μ λ§ μ€μν μμꡬλ
isRemovedOnCompletion
: Determines if the animation is removed from the target layerβs animations upon completion. μ λλ©μ΄μ μ μμ§μμ΄ λλ¬μ λ ν΄λΉ μ λλ©μ΄μ μ λ μ΄μ΄μμ μ κ±°ν κ²μΈμ§ λ§κ²μΈμ§μ λν μ¬λΆμ λλ€.
μ λλ©μ΄μ μ΄ λλκ³ ν΄λΉ μμΉλ₯Ό μ μ§νκ³ μΆμ κ²½μ° μ λλ©μ΄μ μ μ§μ°μ§μκ³ (isRemovedOnCompletion = false), fillModeλ₯Ό forwardsλ‘ μ€μ νλ©΄ λλ€.
-
isAdditive
: Determines if the value specified by the animation is added to the current render tree value to produce the new render tree value. νμ¬ μμΉ κΈ°μ€μμ μ λλ©μ΄μ ν κ±΄μ§ μν 건μ§μ λν μ¬λΆμ λλ€. νμ¬ λ μ΄μ΄ λ λ νΈλ¦¬μ μλ‘μ΄ λ λνΈλ¦¬ κ°μ μμ±ν΄μ μΆκ°ν©λλ€. -
timeOffset
: Specifies an additional time offset in active local time. νμ¬ μ λλ©μ΄μ μ΄ μ€νλκ³ μλ μκ°μ μΆκ° μκ°μ λνλ κ²μ λλ€. λ§μ½ positionμ 0μμ 10μΌλ‘ μ΄λμν€λ μ λλ©μ΄μ μ΄ μλ€κ³ κ°μ νλ©΄ timeOffsetμ΄ 4μ΄λΌκ³ νλ©΄ 4 -> 10 -> 0 -> 4λ‘ μ΄λν©λλ€. μ¦, 4μμλΆν° μ λλ©μ΄μ μ΄ μμν©λλ€. -
beginTime
: Specifies the begin time of the receiver in relation to its parent object, if applicable.μ λλ©μ΄μ μμ μκ°
μ λμ μΈ μκ°μ λ¨μ "μ΄"λ‘ κ³μ°λ©λλ€. CACurrentMediaTime()
λ μ λμ μΈ νμ¬ μκ°μ μ½κ² κ°μ Έμ¬ μ μμ΅λλ€. λΆλͺ¨μ μκ°μμ μ§μ μκ° (from parent time to local tiem)μΌλ‘ λ³ννλ κ³Όμ μ λ λ¨κ³κ° μμ΅λλ€.
- "active local time"μΌλ‘ λ³ν
- "active local time"μμ "basic local time"μΌλ‘ λ³ν
1λ² λ¨κ³μμλ νμ¬ κ°μ²΄κ° λΆλͺ¨ κ°μ²΄μ μκ° μμμ μ΄λμ λνλ μ§ ν¬μΈνΈλ₯Ό μ μ μμ΅λλ€. κ·Έλ¦¬κ³ λλ²μ§Έ λ¨κ³μμλ νμ΄λ° λͺ¨λΈμ ν΄λΉ μ λλ©μ΄μ μ λ°λ³΅ν μ μκ³ , λ€λ‘ λλ릴 μ μλλ‘ λμμ€λλ€.
μ¬κΈ°κΉμ§ λ¬Έμλ₯Ό μ½μ΄λ³΄λ©΄ μ ννκ² μ΄λ€ κ±΄μ§ κ°μ΄ μ€μ§λ μμ§λ§, λλ΅μ μΌλ‘ μ΄λ»κ² μλν 건μ§λ κ°μ΄ μ΅λλ€. Timing λν λ·°κ³μΈ΅μ²λΌ κ³μΈ΅μΌλ‘ μ΄λ£¨μ΄μ Έμκ³ frameκ³Ό boundμ²λΌ λΆλͺ¨μμ μλμ μΈ μκ°κ³Ό λμ μ λμ μΈ μκ°μ΄ μλ€κ³ μ΄ν΄ν μ μμ΅λλ€. κ·Έλμ Customizing the Timing of an Animation λ¬Έμλ₯Ό μ½μ΄λ΄€μ΅λλ€.
μμμ μ΄ν΄νλλ‘, κ° λ μ΄μ΄λ κ°μμ λ‘컬 μκ°μ κ°μ§κ³ μκ³ , κ°κ°μ μκ° μ°¨μ΄λ μ μ κ° μ°¨μ΄λ₯Ό λλΌμ§ λͺ»ν μ λλ‘ μμ΅λλ€. λ§μ½, λ μ΄μ΄μ μλλ₯Ό λ³κ²½νκ² λλ€λ©΄ μ λλ©μ΄μ μ durationλ λ³κ²½λ κ²μ΄κ³ λ€λ₯Έ λ μ΄μ΄μ λ€λ₯΄κ² μλνκ² μ£ .
λ§μΌ μλ=0μ΄λ©΄? κ·Έλ₯ μ λλ©μ΄μ μ΄ μλμν κ² κ°μ΅λλ€.
CAKeyframeAnimation λ¬Έμμμ beginTime
νλ‘νΌν°μ λν μ€λͺ
μ μ½μμ λλ μ μ΄ν΄κ° λμ§ μμμλλ°.. μ¬κΈ°μλ μ€λͺ
μ΄ λμμμ΅λλ€. beginTime
νλ‘νΌν°λ μ λλ©μ΄μ
μ μμ μκ°μ μ§μ νκΈ° μν΄μ μ¬μ©ν©λλ€. μ λλ©μ΄μ
λκ°μ§λ₯Ό μ°λ¬μ μ΄μ©νκΈ° μν΄μλ νκ°μ μ λλ©μ΄μ
μ΄ λλλ μκ°μ λ€λ₯Έ νλμ μ λλ©μ΄μ
μ μμμκ°μΌλ‘ μ€μ νλ©΄ λ©λλ€. κ²°κ΅ beginTimeλ μ λμκ°μΈ κ² κ°μ΅λλ€.