ํ
์ด๋ธ๋ทฐ์ ์
์ด ๋ง์ ๋ ๋น ๋ฅด๊ฒ ์ฌ๋ฆฌ๋ฉด ์๋ฒ๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ค๋๊ฒ ๋ฆ์ด์ง๋ค. ์ด๋ฏธ์ง url๋ก ์๋ฒ์ ์์ฒญ์ ํ๊ณ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ณ ์ด๋ฏธ์ง๋ก ๋ณํํ ๋ค์์ ์ด๋ฏธ์ง๋ฅผ ๋ทฐ์ ํ ๋นํ๋ ์ฝ๋๋ ํ
์ด๋ธ ๋ทฐ๋ฅผ ๋น ๋ฅด๊ฒ ์คํฌ๋กคํ ๋ ์๋ชป ์ค์ ํ ์ ๋ฐ์ ์๋ค. ์ฆ, ์
์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ฌํ ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๋น๋๊ธฐ์ ์ธ ์์
์ด ์ผ์ด๋๋ ์ ๋ฌ์ ํด์ฃผ๋ฉด ์๋๋ค.
๐ iOS/UIKit
ViewController ์๋ช
์ฃผ๊ธฐ๋ ViewController๊ฐ ์์ฑ๋๊ณ ์ฌ๋ผ์ง๋ ๋ฑ ํ๋ฉด์ ์ ํ ์์ ์ ํจ์๊ฐ ํธ์ถ๋๋ ๊ณผ์ ์ด๋ค.์ด๋ฅผ ์ดํดํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ๋ฐ์ดํฐ ์
๋ฐ์ดํธ, UI๋ณ๊ฒฝ ๋ฑ์ ํจ๊ณผ์ ์ผ๋ก ํ ์ ์๋ค. UIVIewController๋ก ์ ์ ๋์ด ์๋๋ฐ ์ด์ ๋ ์๋ช
์ฃผ๊ธฐ์ ๋ชจ๋ ๋ฉ์๋๋ UIKit ๋ด์ UIViewController๋ผ๋ํด๋์ค ์์ ์ด๋ฏธ ์ ์ ๋์ด ์๊ธฐ ๋๋ฌธ์, UIViewController ํด๋์ค๋ฅผ ์์ ๋ฐ๋ ๋ทฐ์ปจํธ๋กค๋ฌ์์ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ค์override ํ ๋ค์ ์ฌ์ฉํ๋ฉด ๋๋ค. ๊ฐ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ ์ด์ ๋จ๊ณ๊ฐ ์๋ฃ๋๊ธฐ ์ ์๋ ํธ์ถ๋์ง ์๋๋ค. loadView๋ทฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ณผ์ ์ผ๋ก ํจ๋ถ๋ก ํธ์ถํด์ ์ฌ์ฉํ๋ฉด ์๋๋ค.์ปจํธ๋กค๋ฌ๊ฐ ๊ด๋ฆฌํ๋ ๋ทฐ๋ฅผ ๋ง๋๋ ์ญํ ์ ํ๋ค...
cmd + k ์๋ฎฌ๋ ์ดํฐ์์ ์๋์ผ๋ก ํค๋ณด๋๊ฐ ์ฌ๋ผ ์ค์ง ์๋๋ค.๋ฐ๋ผ์ ์ค์ ์ ๋ฐ๋ก ํด์ค์ผ ํ๋ค. Toggle Software Keyboard ๋ฅผ ํ์ฑํ ํด์ฃผ๋ฉด ๋! import UIKitimport SnapKitclass MainViewController: UIViewController { var textField = UITextField() var doneButton = UIButton() override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = UIColor.gray configure() } ..
์ด๋ฒ ํ ํ๋ก์ ํธ๋ ํ๋์ ํ๋ฉด์์ ๊ฒฐ์ ๊น์ง ์ด๋ฃจ์ด์ง๋ ๊ณผ์ ์๋ค. ๊ณ ๋ฏผ์ ํ๋ค ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง๊ฐ ๋ฐ๋ก ๋ง๋ค ์๊ฐ ์์ด์ ํํ ๋ชจ๋ฌ์ ๋์ฐ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ฌ์ ์ด๊ธฐ ์ ๊น์ง ์ฅ๋ฐ๊ตฌ๋์ ์ํ์ด ์ ๋๋ก ๋ด๊ฒผ๋์ง ํ์ธํ๊ธฐ๊ฐ ์ฝ์ง ์์๋ค. ๊ทธ๋์ ์ค์ ๋ก ๋ค๋ฅธ ์ฑ๋ค์ ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋์ง ๋ค์ํ ์ดํ๋ค์ ๊น์๋ณด๊ณ ์ฐพ์๋ณด์๋ค. (์ด๋ ๊ฒ ํ
์คํธํ๋ค ์ค์ ๋ก ์คํ๋ฒ
์ค ์ฌ์ด๋ ์ค๋ ์๋๊ฒฐ์ ๋ก ๋์ด๊ฐ์ ํธ๋ ํ ์ฌ์ด์ฆ ์์ด์คํฐ ๋งค์ฅ ํฝ์
ํ๊ฒ ๋๋ค๋ ์ฐ๊ณผ ํจ๊ป....โ)๊ทธ์ค์์ ๋๋ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๋ ๊ธฐ๋ฅ์ด ์ ํฉํด ๋ณด์๋ค. ๋ฐ๋ก ์ด ๊ธฐ๋ฅ์ด๋ค!!!๊ทผ๋ฐ ๊ตฌํํ๊ณ ์ถ์๋ฐ ๋ญ๋ผ๊ณ ๊ฒ์ํด์ผํ ์ง ๊ฐ์กฐ์ฐจ ์ค์ง ์์๋ค...๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธธ ๋, ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธฐ๋ ์ ๋๋ฉ์ด์
๋ฑ๋ฑ์ ๋ง ๋ค์ํ ๊ฒ์์ด๋ก ์ฐพ์๋ณด๊ณ ..
ํํ๋ก์ ํธ ๋ ๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ๊ตฌํ์ด ๋๋์๋ฐ์น์คํฌ๋ฆฐ์ด ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ ์ฐพ์ ๋ณธ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. Lottie ๋ผ์ด๋ธ๋ฌ๋ฆฌ Lottie๋ gif์ ๊ฐ์ ์ ๋๋ฉ์ด์
์ JSON ํ์์ผ๋ก ์์ด๋น์ค๋น์์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ importํ๋ ๋ฐฉ๋ฒ์ ์ฝ์ฝ์ํ, ์นด๋ฅดํ๊ณ , SPM ๋ฑ์ด ์์ง๋ง๋๋ ๊ฐ์ธ์ ์ผ๋ก SPM์ด ๊ฐ๋จํด์ ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ถ๊ฐํด๋ณด๋ ค๊ณ ํ๋ค. ์ค์น ๋ฐฉ๋ฒ1. ๊ณต์ ๊นํ๋ธ์์ ๋งํฌ ๋ณต์ฌhttps://github.com/airbnb/lottie-ios 2. project์์ packages์ ์ถ๊ฐํด์ค๋ค. 3. Lottie ํํ์ด์ง์์ ์ ๋๋ฉ์ด์
๊ฒ์ ํ ํ์ผ ์ ์ฅ https://lottiefiles.com/ 4. Xcode์์ Assets ํ๋จ์ JSONํ์ผ ..
โ
TableView(ํ
์ด๋ธ๋ทฐ): ๋ด๋ถ์ ์
์ด ์กด์ฌํ๊ณ ์ธ๋ก๋ก๋ง ์คํฌ๋กค์ด ๊ฐ๋ฅํ ๋ทฐ๊ทธ๋ฃน์ ์ง์ ์๋ ์์ ๋ธ๋ฆฌ๊ฒ์ดํธ ํจํด๊ณผ ํจ๊ปํ๋ ๊ฐ๋
โ
ํ
์ด๋ธ๋ทฐ์ ๊ตฌ์กฐ ViewController(๊ฐ์ฒด)tableView(๊ฐ์ฒด)tableViewCell(๊ฐ์ฒด) ViewController์ tableView ๊ฐ์ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์์ฌ์ํต ํ์ํ๋ฐ์ด๊ฒ์ ๋ธ๋ฆฌ๊ฒ์ดํธ ํจํด์ผ๋ก ๊ตฌ์ฑํ๋ค. UITableVivewController๋ฅผ ์ฌ์ฉํ ๋๋ UITableViewDatSource ํ๋กํ ์ฝ์ ์ฑํํด์ค์ผ ํ๋ค.์ด ํ๋กํ ์ฝ์ tableView์ ViewController๊ฐ ํต์ ํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ ์ ํ๋ค. ์ปจํ
์ธ ์ ๋ํ ๋ฐ์ดํฐ๋ค์ ํ์ํ ๊ฑด์ง์ ๋ํ ์ํต. ์
์ ๋ช๊ฐ ํ์ํ์ง, ์
์ ์ด๋ป๊ฒ ํ์ํด์ผํ๋์ง โ
UITa..
์ฝ๋๋ฅผ ์คํํ๋ฉด ์ผ์ชฝ์ ๊ฒ์์ ํ๋ฉด ์ฒ๋ผ ๋ฌ๋ค. ์ ๋ชจ๋ฌ์ด ์ ๋จ๊ณ ๋ฒํผ์ด ๋จ๋์ง ์๋ฌธ์ด์๋ค. ๋ฐฐ๊ฒฝ์ ํ์ดํธ๋ก ์ค์ ํด๋๊ณ ๋ณด๋ ๋ชจ๋ฌ์ ์ฌ๋ผ ์์ผ๋๋ฐฐ๊ฒฝ์ด ๊ฒ์์์ด์ด์ ๋ฒํผ๋ง ์ฌ๋ผ์จ ๊ฒ์ฒ๋ผ ๋ณด์๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์์ ๋ฌธ์ ๋ ๋ด๊ฐ vc๋ฅผ ํ์ฌ์ ViewController๋ก ์ค์ ํด์ ๊ทธ๋ฐ ๊ฒ! ํด๊ฒฐ์ ํ๊ธฐ์ํด์๋ ๋ชจ๋ฌ์ ๋์ด์ค ์๋ก์ด UIViewController ํ์ผ์ ์์ฑํด์ค์ผ ํ๋ค. Cocoa Touch Class ํ์ผ๋ก ๋ง๋ค์ด์ค๋ค. Subclass of : ๋ถ๋ถ์ UIViewController๋ฅผ ์์ํ ํด๋์ค๋ก ์ค์ ํด์ค๋ค. import UIKit//ModalController.swiftclass ModalController: UIViewController { override func v..
→์ด๋ฒ ์ฝ๋๋ฒ ์ด์ค๋ก ๊ตฌํํ ๋ ๊ฐ์ฅ ์ด๋ ค์ ๋ ๋ถ๋ถ์ด๊ฐ ์ฝ๋๋ค๊ฐ์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ๋ฅผ ์ด์ด๋๊ฐ๋ ๊ฒ์ด ์ด๋ ค์ ๋ค. ๊ทธ๋์ ํ๋ํ๋ ๋ฏ์ด๋ณด๋ฉด์ ๊ณต๋ถํ๋ค ๋ณด๋ ์๋ฌธ์ด ๋๋ ๋ฉ์๋๋ค. ์ด๋ฒคํธ ๋ฐ์ ์ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ๋ง์ด ์ฌ์ฉํ๊ณค ํ๋๋ฐtarget์ ์ฃผ๋ก self๊ฐ ์ฌ์ฉ๋์ด ์๋ก์ ์ผ๋ก ์ฌ์ฉํ๊ณค ํ์๋ค. ํ์ง๋ง ์ ํํ๊ฒ ๋ฌด์์ ์๋งํ๊ณ ,์ด๋ป๊ฒ ์ด ์ฝ๋๋ก ์ธํด ํด๋น ๋ฉ์๋๊ฐ ์คํ๋๋์ง์ ๋ํ์๋ฌธ์ด ์๊ฒจ ํด๋น ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. addTarget(_:action:for:) ์ปจํธ๋กค๊ณผ ํ๊ฒ ๊ฐ์ฒด ๋ฐ ์ก์
๋ฉ์๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let ..