์ด์ ์ฝ | ๋์ฐ์ | ๊น์ค์ |
ํ | ๋ก๊ทธ์ธ, ํ์๊ฐ์ | ์บ๋ฆฐ๋, ๋ฌด์ง๊ฐ |
- ๋ทฐ์ปจํธ๋กค๋ฌ ์ฐ๊ฒฐ
- ์ ํ์ ์ ๋ฌด์ ๋ฐ๋ฅธ ์ด๋ฏธ์ง
- ์ฑ ์ ๋ชฉ
- ํ๋กํ ์ฌ์ง
- ์ด์ ์์ฑํ ์ผ๊ธฐ
- ์ผ๊ธฐ ์์ฑ ๋ฒํผ
- ๋ชฉ์ฐจ
- ๋ชฉ์ฐจ ํธ์ง ๋ฒํผ
- ๋ชฉ์ฐจ ์์ธ ๋ฒํผ
- ๋ชฉ์ฐจ ์ผ๊ธฐ ๊ฐ์
- ์๋ฒ ํต์
- ๋ชฉ์ฐจ ๋๋กญ๋ค์ด
- ๋ชฉ์ฐจ ์ ํ์ ๋ฐ๋ฅธ ๋ทฐ์ ๋ชฉ์ฐจ ์ต์ ํ
- ์ ๋ณ ์ผ๊ธฐ
- URL๋ก ์ด๋ฏธ์ง ๋ฐ์์ค๊ธฐ
- ์ผ๊ธฐ ํฐ์น
- ์ผ๊ธฐ ์ค์์ดํ
- ์ผ๊ธฐ ์ญ์
- ์๋ฒ ํต์
- ๋ชฉ์ฐจ
- ๋ชฉ์ฐจ ์ถ๊ฐ ๋ฒํผ
- ๋ชฉ์ฐจ ์ญ์ ๋ฒํผ
- ๋ชฉ์ฐจ ์์ ๋ฒํผ
- ๋ชฉ์ฐจ ์ถ๊ฐ ๋ชจ๋ฌ
- ๋ชฉ์ฐจ ์ญ์ ๋ชจ๋ฌ
- ๋ชฉ์ฐจ ์์ ๋ชจ๋ฌ
- ์๋ฒ ํต์
- ์ฃผ์ธ๊ณต ์ด๋ฏธ์ง
- ์ฃผ์ธ๊ณต ์ ํ
- ๊ธฐ๋ถ ์ด๋ฏธ์ง
- ๊ธฐ๋ถ ์ ํ
- ์ฃผ์ธ๊ณต ํด์ ALERT
- ๋ค์ ๋ฒํผ
- ์ฌ์ง ์ ๋ก๋
- ์ฌ์ง ์๋ฅด๊ธฐ
- ๋ชฉ์ฐจ ๋๋กญ๋ค์ด
- ์ ๋ชฉ ์์ฑ
- ๊ธ์ ์ ์ด๊ณผ ์ ์ซ์ ํฐํธ์ ๋นจ๊ฐ์ ์ฒ๋ฆฌ
- ์ด์ผ๊ธฐ ์์ฑ
- ์์ฑ ์๋ฃ ๋ฒํผ
- ์๋ฒ ํต์
- ID ์์ฑ
- ๋น๋ฐ๋ฒํธ ์์ฑ
- ์์ฑ ์ ์ฃผํฉ์ ๋ฐ์ค ์ฒ๋ฆฌ
- ์ ๋ ฅ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ฒํผ ๋น/ํ์ฑํ
- ๋ก๊ทธ์ธ ๋ฒํผ
- ํ์๊ฐ์ ๋ฒํผ
- ๋ก๊ทธ์ธ ์คํจ ALERT
- ์์ด๋ ์ฐพ๊ธฐ ๋ฒํผ
- ๋น๋ฐ๋ฒํธ ์ฌ์ค์
- ์๋ฒ ํต์
- ID ์์ฑ
- ID ์ค๋ณตํ์ธ
- ID ์ค๋ฅ ๋ฉ์์ง
- ๋น๋ฐ๋ฒํธ ์์ฑ
- ๋น๋ฐ๋ฒํธ ํ์ธ ์์ฑ
- ๋น๋ฐ๋ฒํธ ํ์ ํ์ธ
- ๋น๋ฐ๋ฒํธ ์ค๋ฅ ๋ฉ์์ง
- ํ์๊ฐ์ ๋ฒํผ
- ํ์๊ฐ์ ์๋ฃ ๋ทฐ
- ํ์๊ฐ์ ํ์์ ๋ฉ์์ง์์ ์ด๋ฉ์ผ ์ ๋ณ๊ฒฝ
- ์๋ฒ ํต์
- ์ฃผ์ธ๊ณต ์ถ๊ฐ
- ์ฌ์ง ์ฒจ๋ถ Action Sheet
- ์ฃผ์ธ๊ณต ์ฌ์ง ์ฒจ๋ถ
- ์ฃผ์ธ๊ณต ์ด๋ฆ ์์ฑ
- ์ฃผ์ธ๊ณต ๋๋ฌผ ์ ํ
- ๋ ์ง ์ ํ
- ๋ ์ง ๋ชจ๋ฌ
- ์ฑ๋ณ ์ ํ
- ๋์ ํ ์คํธ๋ทฐ
- ํ ์คํธํ๋ ์์ฑ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ฒํผ ๋น/ํ์ฑํ
- ์๋ฒ ํต์
- ์ผ๊ธฐ ์์ฑ ๋ฒํผ
- ๋ฌ๋ ฅ ์ ๋ชฉ
- ๋ค์ ๋ฌ๋ก ๊ฐ๊ธฐ
- ์ด์ ๋ฌ๋ก ๊ฐ๊ธฐ
- ๋ค์ ๋ ๋๋ก ๊ฐ๊ธฐ
- ์ด์ ๋ ๋๋ก ๊ฐ๊ธฐ
- ์ด๋ชจ์ง ๋ถ์ฐฉ
- ์ผ๊ธฐ ๊ฐ์ ์คํฐ๊ฑฐ ๋ถ์ฐฉ
- ์์ธ ์ผ๊ธฐ ์ด๋
- ์๋ฒ ํต์
- ์ด์ ์์ฑํ ์ผ๊ธฐ
- ๋์๊ธ
- ์ฌํ๋ฆฌ ๋ฅ๋งํฌ
- ๋์๊ธ ์ค๋ช ALERT
- '๋ฐ๋ ค๋๋ฌผ๊ณผ ์ด๋ณํ๋์' ๋ฒํผ
- ๋๋ฌผ ์ ํ ALERT
- ์ด๋ฏธ์ง ์ ํ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ฐฐ๊ฒฝ์ ๋ณ๊ฒฝ
- ์๋ฒ ํต์
- ํ ์คํธ ์ ๋๋ฉ์ด์
- 'X' ๋ฒํผ ํฐ์น ์ ์ด๊ธฐํ ALERT
- ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ ์ฝ์
- ๋ค์ ๋ฒํผ
- ์๋ฒ ํต์
- URL๋ก ์ด๋ฏธ์ง ๋ฐ์์ค๊ธฐ
- ํ ์คํธ์์ ์ผ์ ํฐํธ ๊ตต๊ธฐ์ ํฌ๊ธฐ ์กฐ์
- ํ ์คํธ์์ ์ํผ์๋ ํฐํธ ๊ตต๊ธฐ์ ํฌ๊ธฐ ์กฐ์
- ๋ค๋ก ๊ฐ๊ธฐ ๋ฒํผ
- 'X' ๋ฒํผ ํฐ์น ์ ์ด๊ธฐํ ALERT
- ์๋ฒ ํต์
- ๋ค๋ก ๊ฐ๊ธฐ ๋ฒํผ
- 'X' ๋ฒํผ ํฐ์น ์ ์ด๊ธฐํ ALERT
- ์ฑ ๋ชจ์ ์ปค์คํ ๋ทฐ ๊ตฌํ
- ์ปค์คํ ํค๋ ๋ทฐ ๊ตฌํ
- ์กฐ๊ฑด์ ๋ฐ๋ฅธ ์ด๋ชจ์ง ํธ์ถ
- DateFormatter๋ก ๋ณํ
- ๋ค์ ๋ฒํผ
- ์์ธ ์ผ๊ธฐ ์ด๋
- ์๋ฒ ํต์
- URL๋ก ์ด๋ฏธ์ง ๋ฐ์์ค๊ธฐ
- ์กฐ๊ฑด์ ๋ฐ๋ฅธ ์ด๋ชจ์ง ํธ์ถ
- ์ด๋ชจ์ง ๋๋กญ๋ค์ด ๊ตฌํ
- ์ด๋ฏธ์ง ์คํฌ๋กค์ ๋ฐ๋ฅธ Page Control ์กฐ์
- ๋์ ํ ์คํธ ๋ทฐ ๊ตฌํ
- ๋ค์ ํ๋ก ์ด๋ ๋ฒํผ
- ์ด์ ํ๋ก ์ด๋ ๋ฒํผ
- ์๋ฒ ํต์
UIView.animate(withDuration: 0.5) { self.indexStackView.arrangedSubviews[index].backgroundColor = .macoWhite self.toggleButton.transform = self.isToggled ? CGAffineTransform(rotationAngle: .pi * 2): CGAffineTransform(rotationAngle: .pi) self.indexStackView.alpha = self.isToggled ? 0.0 : 1 }
UIView.animate(withDuration: 0.3, delay: 0.0, options: .curveEaseOut) { self.contentLabel.alpha = 1.0 }
UIView.animate(withDuration: 0.3, delay: 0.3, options: .curveEaseOut) { self.view.frame.origin.y = -position + self.topBarHeight }
์ด๋ฒ 28๊ธฐ ์ฑ์ผ์ ์ฐธ์ฌํ๋ฉด์ UIImagePicker๋ฅผ ์ฌ์ฉํด ์ฌ์ฉ์์ ์นด๋ฉ๋ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๊ทผํด ์ด๋ฏธ์ง๋ฅผ ๊ฐ๊ณ ์ฌ ์ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฑ์ ๊ตฌํํ๋ฉด์ ์ด๋ฏธ์ง์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ์๋ฒ ํต์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ์ด๋ฅผ ๊ฒฝํํด๋ณผ ์ ์์์ต๋๋ค.
์ด๋ฒ 28๊ธฐ ์ฑ์ผ์ ์ฐธ์ฌํ๋ฉด์ ๊น์ ๋ํ ์ ๋ฐ์ ์ธ ํ๋ฆ์ ์๊ฒ ๋์์ต๋๋ค. ์ด๋ฒ์๋ upstream ๋ธ๋์น๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ ์ ๊ฐ์ธ ๋ ํฌ์งํ ๋ฆฌ์ iOS ํํธ์๋ค๊ณผ ๊ณต์ ํ๋ ์ ์คํธ๋ฆผ๊ณผ ์ฐ๋ ๋์ด์, ๋์ฑ ํธ๋ฆฌํ๊ฒ ํ์ ์ ํ ์ ์์์ต๋๋ค. ๋ํ, ๋ทฐ๋ฅผ ์งค ๋ ์กฐ๊ธ ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์๊ฒ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์ ๋๋ ์ ๋, ํด๋น ์ ์ ๋ํ ์ ๋ณด๋ค ๋ํ ๋ค๋ฅธ ์ปฌ๋ ์ ๋ทฐ๋ฅผ ์ฌ์ฉํด์ ๋ทฐ๋ฅผ ์ง๋ฉด reloadData()๋ฅผ ์ฌ์ฉํด์ ๋์ฑ ํจ์จ์ ์ด๊ณ ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
๊นํ๋ก์ฐ๋ฅผ ์ ์ฉํ ํ์ ์ ํตํด ๊น ๋ธ๋์น ๊ด๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ์ ์์์ต๋๋ค. Coding Convention์ ์ ํ์ฌ ๊ฐ๋ ์ฑ์๋ ์ฝ๋ ์์ฑ์ ํ์๊ณ Pull Request ์์ฒญ๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ๋ถ์กฑํ ์ ์ ๊นจ๋ซ๊ณ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์์์ต๋๋ค. Snapkit์ ์ด์ฉํ์ฌ Autolayout์ ์ก์ผ๋ฉฐ ๋ทฐ์ ์ฌ์ฌ์ฉ์ฑ์ ๋ํด ๊ณ ๋ฏผํ ์ ์๋ ์ข์ ๊ธฐํ์์ต๋๋ค. ๐