UMC iOS μΈλ―Έλ 8μ£Όμ°¨
9:20 ~
λ μ΄μμμ λ°κΎΈκ³ μΆμ λ
μ€ν 리보λμ μ‘νμλ μ€ν λ μ΄μμμ λμ΄μ¬ μ μλ€
νλ μ€μ μ λκ³ μ¨λ€. (IBOutletμΌλ‘ μ¬μ©)
μ°λ¦¬μ λͺ©ν: μ€λ μ§ λ·°μ νκ³Ό ν€μ΄νΈ μμκ°μ λ³νμν¨λ€
μ λλ©μ΄μ μ΄ μ μ©μ΄ μλκ³ (3μ΄κ°)
λ°λ‘ μ« ν΄μ§
-> λ³κ²½λ UI λ΄μ©μ΄ λ°μλμ΄μΌ νλ€.
-> λ³κ²½λμ§ μλ κ²
: λ μμΈνκ² μμ보μ
layoutμ μ λ°μ΄νΈλ₯Ό λͺ λ Ήνλ μ½λκ° κΌ νμνλ€
μ μ λλ©μ΄μ μ΄ μ μ©μ΄ μλμ§? ν΄λ©λ κ²½μ°κ° λ°μνλ€.
layoutIfNeeded() κΌ νμ©!
λ°λ‘λ°λ‘ UI μ λ°μ΄νΈλ€μ΄ μ μ©μ΄ λλ€.
μ λλ©μ΄μ μ μ©ν λλ,
UIViewμ animate λ©μλλ₯Ό νμ©ν μ μλ€.
animate λ©μλμλ λ€μν parameterμ΄ μλλ°,
κ·Έκ² μ€μμ νμν κ²λ§ νμ©νλ©΄ λλ€.
νκ²: ν΄λΉ 뷰컨
μ‘μ : Selector -> #selectorλ₯Ό ν΅ν΄ μ λ¬
-> object-C λ°νμμ μμ‘΄νλ ν¨μλ₯Ό λ¬μμ€ λ #
νμμ ν¨μ μμ±νλ―μ΄ μ΄λ€
μμ @objc μΆκ°νλ©΄ λ¨
μ΄ ν¨μλ μ€λΈμ νΈ μ¨ ν¨μμ λλ€ μ μΈλ κ²
Tap μ μ€μ² : μ€ν¬λ¦°μ΄ λλ Έμ λ
λ€μ ννλ©΄ λ€μ μμμ§λ λμμ ꡬνν΄λ³΄μ
_ in
μ»΄ν리μ λ ν΄λ‘μ
λ°νκ°μ λ°μμ€ νλΌλ―Έν° -> μμΌλκΉ μΈλλ°
ν΄λ‘μ λ₯Ό λμμΌλ‘ 곡λΆλ₯Ό ν΄λ³΄λ©΄ μ΄ν΄ν μ μμ κ²μ΄λ€.
ν΄λ‘μ 곡λΆ!
κ΅³μ΄ λ²νΌμ΄ μλλλΌλ,
μ μ μ μ λ ₯μ(μ‘μ μ) λ°λ κ²½μ°
UI Gesture Recognizer νμ©ν μ μλ€.
8κ° μ€ Tap μ μ€μ³λ₯Ό νμ©ν΄λ³Έ κ²
λ€μν μ μ€μ³, μ λλ©μ΄μ μ νμ©ν΄λ³΄μ! :)
- μ λλ©μ΄μ parameter μ€ μ΅μ : μ λλ©μ΄μ μ μ€νμν¬ λ, μΆκ°μ μΌλ‘ μ€ κΈ°λ₯μ κΈ°λ³Έμ μΌλ‘ Swiftκ° μ 곡ν¨
: νμ μ°½μ λμΈ λ, (μ€λμ§ λ·°λ₯Ό μ ννμ λ, νμ μ°½μ΄ νμ νλ©΄μ μ¬λΌμ€κ±°λ λ±λ± μ λλ©μ΄μ μΆκ° κΈ°λ₯)
CoreAnimation
: μμΈν μ λλ©μ΄μ μ ꡬννκ³ μΆμ λ 곡λΆν΄λ³΄λ©΄ μ’λ€
: μ‘°κΈ μ΄λ €μΈ μ μμΌλκΉ νμ μ 곡λΆ
μ μ€μ² κ²ΉμΉ¨
: μλλ°©κ³Ό λλμλ μ±ν λ΄μμ΄ μμ
μ€ν¬λ‘€μ ν΅ν΄ μ λ²μ£Όμ λλ΄λ λν λ³Ό μ μμ
λ§μ½μ μ±ν λ΄μμ΄ λμμλ μ°½μ, λ€λ₯Έ μ μ€μ² μΆκ°νλ€λ©΄?
ex) μ€μμ΄ν μ μ€μ² μΆκ°
μ€ν¬λ‘€ μ μ€μ² + λ΄κ° μΆκ°ν μ μ€μ² κ²ΉμΉ¨
μ μ€μ²λΌλ¦¬ μΆ©λ -> λν λ΄μ© μ€ν¬λ‘€ νμ λ μ΄λ€ μ μ€μ²λ₯Ό μΆκ°ν΄μΌνλμ§ μ± λ΄μμ ν·κ°λ¦΄ μ μλ€
λ μ€ νλ 무μλκ±°λ, λ λ€ μλ μνκ±°λ λ±λ± λ¬Έμ μν© λ°μν¨
μ΄λ»κ² ν΄κ²°νλ©΄ μ’μκΉ?
κΈ°μ‘΄ vs λ΄κ° μΆκ°ν κ² -> μ΄λ€κ² μ€νλ μ§ μ±μκ² μλ €μ€μΌ νλ€
escaping Closure
- completion
- ν΄λ‘μ μ λν κ°λ μ΄ μλ€λ©΄ μ λλ©μ΄μ 곡λΆνλλ° λ§μ λμμ΄ λ κ²
- μ€μννΈμμλ ν΄λ‘μ κ° μ λ§ λ§μ΄ νμ©λκ³ μλ€.
- iOS κ°λ°μλΌλ©΄ λ°λμ 곡λΆνκ³ λμ΄κ°μΌ νλ λΆλΆ
- μ λ§ μ€μν κ°λ
- animate μ½λλ₯Ό λ―μ΄μ λ€μ΄κ°λ©΄, animationsμ΄ escaping closureλ‘ λμ΄μλ€.
: λ€νΈμνΉμμλ λ°λμ νμ©λ¨ (μλ² μ°κ²° λ΄μ©μμ) -> 미리 μμ΅νλ©΄ μμνκ² κ³΅λΆν μ μλ€.
μ€ν λ€λ λ―Έμ
- κΈ°μ‘΄ νλ‘μ νΈμ μ λλ©μ΄μ μΆκ°
- μ΅μ 2~3κ°λ₯Ό λΆμ¬λ³΄μ
μ²Όλ¦°μ§ λ―Έμ
- μλ€
- κ°μΈκ³΅λΆ Or
- λΆμ‘±νλ λ―Έμ 보좩νλ μκ°μ κ°μ Έλ³΄μ
- escaping closure κΌ κ³΅λΆν΄λ³΄μ!