-
[iOS] Core Animation μ΄λ? (1)iOS/π€ App 2021. 7. 5. 11:51
μλ νμΈμπΆ
μ΄λ² μκ°μλ Core Animation μ λν΄μ κ°λ¨νκ² μ΄ν΄λ³΄κ² μ΅λλ€.
μ΄ νλ μμν¬λ CALayer λ₯Ό 곡λΆνλ λμ€ λ°°κ²½μ§μμ΄ νμνλ€κ³ μκ°νμ¬ κ΄λ ¨ λ¬Έμλ₯Ό μ 리νλ©΄μ 곡λΆνμμ΅λλ€.
κ·Έλ°λ° λ¬Έμ μμ΄ λ§μμ λ€ λ€λ£¨μ§λ μκ³ , κ°μμ Basic λΆλΆκΉμ§ μ 리ν΄λ³΄μμ΅λλ€.
λ€μ λΆλΆμ λ μ΄μ μ¬μ©νμ§ μλ κΈ°μ λ€λ μκ³ , ν΅μ¬ κ°λ μ μλμ¬μ λ€μμΌλ‘ μ 리λ₯Ό λ―Έλ£°κ²μ ^^
κ·ΈλΌ μμν΄λ³Όκ²μ!!
Core Animation μ λνμ¬
μλλ Metal κ³Ό Core Graphics λ₯Ό ν΅ν΄ Graphics Harware μ μ§μ μ κ·Όνμ¬ μ μ΄ν μ μμ΅λλ€.
μ¬κΈ°μ Metal μ OpenGL μ λ체νμ¬ μ νμ΄ μ§μ λ§λ κ·Έλν½ μ μ΄ μΈν°νμ΄μ€μ λλ€.
Core Animation μ λ°λ‘ μμͺ½ λ μ΄μ΄μ μμΉνμ¬ μ’ λ High-level API λ₯Ό μ 곡ν©λλ€.
Core Animation μ iOS μ OS X μμ μ¬μ©ν μ μλ κ·Έλν½ λ λλ§ κ³Ό μ λλ©μ΄μ κΈ°λ° κΈ°μ μ λλ€.
μ΄κ²μ μ΄μ©ν΄μ μ± λ΄μ View μ μκ°μ μμλ€μ animate νλλ° μ¬μ©ν μ μμ΅λλ€.
Core Animation μ μ¬μ©νλ€λ©΄, μ λλ©μ΄μ μ κ°κ°μ νλ μμ 그리λλ° νμν λλΆλΆμ μμ μ μμμ ν΄μ€λλ€.
μ°λ¦¬κ° ν΄μΌν κ²μ λͺ μλλ animation νλΌλ―Έν°λ₯Ό μ€μ νκ³ , (μλ₯Ό λ€μ΄ μμ μ§μ κ³Ό μ’ λ£ μ§μ )
Core Animation μκ² μμνλΌκ³ μλ €μ£Όλ κ²μ λλ€.
λλ¨Έμ§λ Core Animation μ΄ μμμ ν΄μ€λλ€.
λλΆλΆμ μ€μ 그리기 μμ μ λ λλ§ κ°μμ μν΄ λ©μΈλ³΄λμ λΆμ°©λμ΄ μλ κ·Έλν½ νλμ¨μ΄μ μ λ¬ν©λλ€.
μ΄ μλνλ κ·Έλν½ κ°μμ CPU μ 무리λ₯Ό μ£Όκ±°λ μ±μ μλλ₯Ό μ νμν€μ§ μκ³ , λμ νλ μ μλμ λΆλλ¬μ΄ μ λλ©μ΄μ μ κ°λ₯νκ² ν©λλ€.
μμ κ·Έλνμ κ°μ΄, Core Animation μ UIKit λ°μμ μμΉνλ©΄μ Cocoa Touch μ View μ²λ¦¬ κ³Όμ κ³Ό κ°λ ₯νκ² κ²°ν©λμ΄ μμ΅λλ€.
ν λμ μ΄ν΄λ³΄λ Core Animation
1. Core Animation μ μ±μ μ½ν μΈ λ₯Ό κ΄λ¦¬νλ€
Core Animation μ κ·Έκ² μμ²΄κ° λ¬΄μΈκ°λ₯Ό 그리λ μμ€ν μ΄ μλλλ€.
= 그리λ κ²μ νλμ¨μ΄μ.
νλμ¨μ΄κ° μ±μ μ½ν μΈ λ₯Ό μ‘°ν©νκ³ μμ ν μ μκ² ν΄μ£Όλ κΈ°λ° κΈ°μ μ λλ€.
μ΄ κΈ°λ° κΈ°μ (infrastructure) μμ κ°μ₯ μ€μν μ€λΈμ νΈλ 'λ μ΄μ΄' μ λλ€.
μ°λ¦¬λ λ μ΄μ΄λ₯Ό μ¬μ©ν΄μ μ½ν μΈ λ₯Ό μμ νκ³ κ΄λ¦¬ν©λλ€.
λ μ΄μ΄λ μ½ν μΈ λ₯Ό λΉνΈλ§΅μΌλ‘ μΊ‘μ²ν©λλ€.
:: λΉνΈλ§΅μ λν΄ μ 리ν λΈλ‘κ·Έ κΈ
μ΄ λ°©μμ κ·Έλν½ μ₯μΉλ₯Ό μ¬μ©νμ¬ μ½ν μΈ λ₯Ό μ½κ² μ‘°μν μ μκ² ν΄μ€λλ€.
λλΆλΆμ μ±μμ λ μ΄μ΄λ λ·°μ μ½ν μΈ λ₯Ό κ΄λ¦¬νκΈ° μν΄ μ¬μ©λ©λλ€.
λ¬Όλ‘ νμμ λ°λΌ λ μ΄μ΄ μ€λΈμ νΈλ₯Ό λ°λ‘ μ§μ μμ±ν μλ μμ΅λλ€.
2. λ μ΄μ΄λ₯Ό μμ νλ©΄ μ λλ©μ΄μ μ μΌμΌν¨λ€
Core Animation μ μ¬μ©ν΄μ μμ±ν λλΆλΆμ μ λλ©μ΄μ μ λ μ΄μ΄μ μμ± λ³κ²½κ³Ό κ΄λ ¨μ΄ μμ΅λλ€.
λ·°μ λ§μ°¬κ°μ§λ‘ λ μ΄μ΄ μ€λΈμ νΈλ bounds λ₯Ό κ°μ§ μ¬κ°ν, νλ©΄ μμμμ μμΉκ°, ν¬λͺ λ, transfrom μμ± λΏλ§ μλλΌ λ€μν μκ°μ ν¨κ³Όκ³Ό κ΄λ ¨λ μμ±μ κ°μ§κ³ μμ΅λλ€. κ·Έλ¦¬κ³ μ΄ μμ±λ€μ μμ μ΄ κ°λ₯ν©λλ€.
μ΄λ° μμ±λ€ μ€ λλΆλΆμ, κ·Έ μμ± κ°μ λ³κ²½νλ κ²λ§μΌλ‘λ μμμ μΌλ‘(implicitly) μ λλ©μ΄μ μ μμ±νλ κ²μ λλ€.
μ΄ μ λλ©μ΄μ μ λ μ΄μ΄μ μμ± κ°μ΄ λ³κ²½ μ κ°μμ λ³κ²½ ν κ°μΌλ‘ λ³κ²½λλ©΄μ λμνλ κ²μ λλ€.
μ λλ©μ΄μ λμμ λ μΈλ°νκ² μ‘°μ νκ³ μΆλ€λ©΄ λͺ μμ μΌλ‘ μ΄ μμ±λ€μ λ³κ²½ν μ μμ΅λλ€.
3. λ μ΄μ΄λ κ³μΈ΅μ μΌλ‘ κ΄λ¦¬λλ€
λ μ΄μ΄λ€ μ¬μ΄μμλ λΆλͺ¨-μμ κ΄κ³κ° νμ±λλ©° κ³μΈ΅μ μΌλ‘ μ λ ¬λ©λλ€.
μ΄ λ μ΄μ΄λ€μ μ λ ¬μ λ μ΄μ΄μ μκ°μ μΈ μ½ν μΈ μ λ·°μ κ°μ λ°©μμΌλ‘ μν₯μ μ€λλ€.
= μλ₯Ό λ€μ΄ μμ κ³μΈ΅μ λ μ΄μ΄λ νμ κ³μΈ΅ λ μ΄μ΄λ³΄λ€ λ°μ νμλλ λ°©μμΌλ‘ λ·°μ μ μ¬ν¨
λ·°μ λΆμ΄μλ λ μ΄μ΄λ€μ κ³μΈ΅κ΅¬μ‘°λ κ·Έ λ·°λ€μ κ³μΈ΅κ΅¬μ‘°μ λμΌν©λλ€.
μ΄ λ μ΄μ΄ κ³μΈ΅μλ λ·°μ κ΄κ³ μμ΄ μ§μ λ μ΄μ΄λ₯Ό μΆκ°ν μ λ μμ΅λλ€.
κΈμ΄ λ무 κΈΈμ΄μ Έμ 2λΆμμΌλ‘ λ§λ€κ² μ΅λλΉ
>> λ€μ κΈ : Core Animtion μ΄λ? (2) <<
λ!!
π€π’[μ°μ§±μ iOS λΈλ‘κ·Έ]π΅π»
iOSλ₯Ό 곡λΆνλ©΄μ λ°°μ΄ λ΄μ©μ κΈ°λ‘νκ³ μμ΅λλ€.'iOS > π€ App' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[iOS] μλμ°λ? (feat. UIWindow) (0) 2021.07.05 [iOS] Core Animation μ΄λ? (2) (0) 2021.07.05 [iOS] CALayer λ? (0) 2021.07.05 [iOS] Dependency Injection (μμ‘΄μ± μ£Όμ ) μ΄λ? (0) 2021.06.20 [iOS] About App Development with UIKit (UIKit μΌλ‘ μ± κ°λ°νκΈ°) (0) 2021.06.16