211102 loadViewIfNeeded, adjustsFontForContentSizeCategory, adjustsFontSizeToFitWidth, UIButton, NavigationViewController, removearrangedsubview
11์ 2์ผ (ํ)
์ค๋์ STEP 3๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๋ํด์ ์๊ฐ์ ๋ง์ด ๋ณด๋๋ค. ์คํ์๋ ์์กด๋ชจ๋ ๊ณผ ํจ๊ป ํด๋์ค์ ๊ตฌ์กฐ์ฒด์ ๋ํด์ ์๋ ผํ์๊ณ ๋๋๊ณ ๋ ์ดํ์ ์ ์ดํฐ์ ํจ๊ป PR๊ณผ README๋ฅผ ์ฑ์๋ณด์๋ค.
ย
- ViewController์ ๋ค์ View์ ๋ํ ํ๋กํผํฐ์ ์ ๊ทผ๋์ง๊ฐ ์์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ์์ง?
- button์ Dynamic Type์ ์ ์ฉ์์ผ์ฃผ๋ ค๋ฉด?
- button์ Label์ ํฌ๊ธฐ๊ฐ ๋ฒํผ์ ๋๋น์ ๋ง๊ฒ fixํด์ฃผ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
- NavigationViewController์ ์ฐ๊ฒฐ๋์ด์๋ ViewController๋ฅผ ๋ถ๋ฌ์ค๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ
- Bundle์ ๋ํ ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ ์ด ๊ถ๊ธํ๋ค.
- Button์ ์ฝ๋๋ก ๊ตฌํํ๋ฉด ๋ฒํผ์ ํด๋ฆญํ ๋ ์ก์ ์ด ์๋ค!
- Auto Layout ๊ฐ์ ์์ ์งํ์ remove๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ทฐ๊ฐ ์์ฌ๋ผ์ง๋ ํ์์ ๊ฒฝํํ๋ค.
ย
-
loadViewIfNeeded()
๋ฅผ ์ด์ฉํ์ฌ View๋ฅผ ๋ฏธ๋ฆฌ loadํด์ ํด๋น ๋ทฐ ํ๋กํผํฐ์ ์ ๊ทผํ์๋ค. ํ์ง๋ง ์ ์ ํ ๋ฐฉ๋ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ์ด๋ฆฌ์ ๋ฆฌ ๋์๋๊ธฐ๋ฉด์ ์บ ํผ๋ค์ ์ด๋ป๊ฒ ๊ตฌํํ๋ ์๊ฒฌ์ ๊ตฌํด๋ณด์๋๋ฐ didSet์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ๋ ๋ฐฉ๋ฒ๋ ์์๋ค. ๋ณดํต ๋ทฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋๋ ์ง์ ์ ๋ฌํ๊ธฐ ๋ณด๋ค๋ ๊ฐ์ ๋ด์ ํ๋กํผํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋๊ณ ๊ฐ์ ์ ๋ฌํ ๋ค์ ํด๋น ํ๋ฉด์์ ๊ฐ์ ๋์ ํ๋ ๋ฐฉ์์ ํํ๋ค๊ณ ํ๋ค. ๋ฐ์ดํฐ๊ฐ ์์ ํ๊ฒ ์ ๋ฌ๋ ์ ์๋๋ก ํด๋น ๋ฐฉ๋ฒ์ ์ฐ๋ ๊ฒ ๊ฐ์๋ฐ, ์ ์ง์ ์ ๋ฌํ๋๊ฒ ์์ข์ ๊ฑธ๊น? ์ด ๋ถ๋ถ์ ๋ฆฌ๋ทฐ์ด๋ถ๊ป ์กฐ์ธ์ ๊ตฌํ๊ธฐ๋ก ํ๋ค. -
๋ฒํผ์ title Label์ Inspector์์ Automatically Adjusts Font๋ฅผ ์ค์ ํ ์๊ฐ ์์๋ค. ์ฐพ์๋ณด์์ง๋ง ์ฝ๋๋ก ๊ตฌํํ๋ ๊ฒ์ด ์ต์ ์ด์๋ค.
orderStrawberryBananaJuiceButton.titleLabel?.adjustsFontForContentSizeCategory = true
-
์ด๊ฒ๋ ๋์ค์ฝ๋๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ๋์๋ค๋๋ฉด์ nicho, ๊ณ ์ฌ๋ฆฌ ํ์์ ํํธ๋ฅผ ์ป์๋๊ฒ ์๊ฐ์ด ๋์ ํด๊ฒฐํด๋ณด์๋ค.
orderStrawberryBananaJuiceButton.titleLabel?.adjustsFontSizeToFitWidth = true
-
NavigationViewController์ ์์ฑ๊ฐ ์ค์ topViewController ๋ผ๋ ์์ฑ์ ์ฌ์ฉํ์ฌ ์ ๊ทผํ ์๋ ์๊ณ , viewControllers ๋ฐฐ์ด์ ์ ๊ทผํด์ ํ์ฉํ๋ ๋ฐฉ๋ฒ, ViewController ์์ฑ๊ฐ ์ค์ children์ด๋ผ๋ ์์ฑ๋ ํ์ฉํ ์ ์์๋ค.
-
๋ฒ๋ค์ ๋ฐฑํฉ์ด๋ผ๊ณ ํ ์ ์๋ค. ์ด ๊ฐ๋ฐฉ์ ๋ด๊ฐ ์ํ๋ ๋ฌด์์ด๋ ๋ด์ ์ ์๋ ํน๋ณํ ์ฃผ๋จธ๋๊ฐ ์๊ณ ์ด ์ฃผ๋จธ๋๋ ์ด๋๋ฅผ ๊ฐ๋ ์ฅ์์ ๋ฑ ๋ง๊ฒ ๋ฐ๋์ด์ ๋์จ๋ค.
-
์ค๋๋ ์ ์ดํฐ์ ๊ฟํ... Button์ ์์ฑํด์ค๋ ์ด๋์ ๋ผ์ด์ Type์๋ค๊ฐ .system์ด๋ผ๋ ์ค์ ๊ฐ์ ์ค์ผ ๋ฒํผ์ ๋๋ฅผ๋ ํด๋ฆญ๋๋ ์ก์ [?]์ด ์๊ธด๋ค
UIButton(type: .system)
-
๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด๋ฉด view๋ฅผ ์ง์ธ ๋
isHidden = true
๋ฅผ ์ค์ ํด์ฃผ๊ฑฐ๋ removeFromSuperview()๋ฅผ ํธ์ถํ์ฌ ๋ทฐ๋ฅผ ๋ช ์์ ์ผ๋ก ์ ๊ฑฐํ๋ผ๊ณ ๋์์์๋ค. ๋์ค ํ๋๋ฅผ ์ค์ ํด์ฃผ์ง ์๋๋ค๋ฉด ์๋ฌด๋ฆฌ remove๋ฒํผ์ ๋๋ฌ๋ view๊ฐ ๋ฐ์ดํฐ์์์๋ ์ฌ๋ผ์ง๊ธด ํ์ง๋ง[?] ํ๋ฉด์์์๋ ์ฌ๋ผ์ง์ง ์๊ณ ๋จ์์์๋ค. -
isHidden์ true๋ก ์ฃผ์์ ๋
-
isHidden์ true๋ก ์ฃผ์ง ์์์ ๋
ย