Skip to content

Latest commit

ย 

History

History
58 lines (46 loc) ยท 4.41 KB

211102_loadViewIfNeeded,_adjustsFontForContentSizeCategory,_adjustsFontSizeToFitWidth,_UIButton,_NavigationViewController,_removearrangedsubview.md

File metadata and controls

58 lines (46 loc) ยท 4.41 KB

211102 loadViewIfNeeded, adjustsFontForContentSizeCategory, adjustsFontSizeToFitWidth, UIButton, NavigationViewController, removearrangedsubview

TIL (Today I Learned)

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๋กœ ์ฃผ์ง€ ์•Š์•˜์„ ๋•Œ

ย