๐Ÿ“–Navigation Controller

๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ

  • ์Šคํƒ ํ˜•์‹์œผ๋กœ ์Œ“์—ฌ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด์ด ์ „ํ™˜๋  ๋•Œ ๊ธฐ์กด์˜ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ง€์šฐ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์›๋ž˜ ์žˆ๋˜ ํ™”๋ฉด ์œ„์— ์ƒˆ ํ™”๋ฉด์ด ์˜ฌ๋ผ๊ฐ€๋Š” ํ˜•์‹
  • ์•ฑ ์‹คํ–‰ ์‹œ ๋ฐ”๋กœ ์‚ฌ์šฉ๋จ โ†’ SceneDelegate์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ

๐Ÿ“–Navigation Controller ํ™”๋ฉด ์ „ํ™˜ ๋ฐฉ์‹

๋ฐฐ์—ดviewControllers์— ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ €์žฅํ•ด ๋„ค๋น„๊ฒŒ์ด์…˜ ์Šคํƒ์„ ์Œ“์Œ

์œ„์˜ ์‚ฌ์ง„์„ ๊ธฐ์ค€์œผ๋กœ ์ดํ•ดํ•ด๋ณด์ž

์ฒซ๋ฒˆ์งธ ํ™”๋ฉด : ์„ค์ • ๋‘๋ฒˆ์งธ ํ™”๋ฉด : ์ผ๋ฐ˜

๐Ÿ”–ํ˜„์žฌ ์œ„์น˜ : ์„ค์ •VC

๐Ÿ“ŽPush/Show

ํ˜„์žฌ ์œ„์น˜ ์„ค์ •VC์—์„œ ๋‹ค์Œ ํ™”๋ฉด์ธ ์ผ๋ฐ˜VC๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์œ„ํ•ด ๋Œ€๋ฆฌ์ž๋ฅผ ํ†ตํ•ด push

  • ๋ฐฐ์—ด์— [์„ค์ •VC, ์ผ๋ฐ˜VC] ์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์Œ“์ด๊ฒŒ ๋จ
  • ์Šคํƒ ํ˜•์‹์œผ๋กœ ์Œ“์—ฌ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋กœ push๋˜์–ด๋„ ๊ธฐ์กด์˜ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋˜์ง€ ์•Š์Œ

๊ทธ๋Ÿผ show๋Š” ๋ญ”๊ฐ€์š”?

์„ธ๊ทธ์›จ์ด๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์„ ์ „ํ™˜ํ•  ๋•Œ show ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์ „ํ™˜ํ•จ

๋„ค?? push๋กœ ํ™”๋ฉด ๋„˜์–ด๊ฐ„๋‹ค๋ฉด์„œ์š”??? show๊ฐ€ push์˜ ์ƒ์œ„ ๊ฐœ๋…์ด์—์šฉ ์ด ์‚ฌ์ง„์ฒ˜๋Ÿผ ํฐ ํ™”๋ฉด์—์„œ ํ™”๋ฉด์„ ๋„˜์–ด๊ฐˆ ๋•Œ ์˜ค๋ฅธ์ชฝ์— ํ™”๋ฉด์ด ๋œจ๋Š”๋ฐ ์ด ๋ฐฉ์‹์ด show ์ž‘์€ ํ™”๋ฉด์ด๋ฉด push ๋ฐฉ์‹์œผ๋กœ ํ™”๋ฉด์ด ๋„˜์–ด๊ฐ

๐Ÿ“ŽPop

์ผ๋ฐ˜VC์—์„œ ์ด์ „ ํ™”๋ฉด์ธย ์„ค์ •VC์œผ๋กœ ๋Œ์•„๊ฐˆ ๋•Œ pop

  • ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋˜๋Š” ์™ผ์ชฝ ๊ฐ€์žฅ์ž๋ฆฌ ์Šค์™€์ดํ”„๋ฅผ ํ†ตํ•ด ๋Œ์•„๊ฐ
  • ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ฐธ์กฐ๋˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•ด์ œ๋จ

๐Ÿ“–Navigation Controller ๋‚ด๋ถ€ ๊ตฌ์กฐ

๐Ÿ“ŽviewControllers

Navigation Controller์˜ ๊ฐ์ฒด์—์„œ ์—ฌ๋Ÿฌ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์„ ๋„ค๋น„๊ฒŒ์ด์…˜ ์Šคํƒ์„ ํ†ตํ•ด ๊ด€๋ฆฌ

๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ ํ•จ๊ป˜ ํ™”๋ฉด ์ƒ๋‹จ์˜ ๋ง‰๋Œ€์— ํ‘œ์‹œ๋˜๋Š” ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค

  • Navigation Controller์—์„œ push๋ฅผ ํ•˜๋ฉด, pushํ•œ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ๋Š” ์ž๋™์œผ๋กœ navigationBar(๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ํฌํ•จ)๊ฐ€ ์ƒ์„ฑ๋จ
  • ์Šคํ† ๋ฆฌ๋ณด๋“œ๊ฐ€ ์•„๋‹Œ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„์ด ์–ด๋ ค์›€( โˆต iOS13 ์ดํ›„์— ์ƒ๊ธด SceneDelegate)

๐Ÿ“ŽtoolBar

์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•˜๋‹จ ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ ๋”ฐ๋ผ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฒ„ํŠผ์„ ํ‘œ์‹œํ•˜๋Š” ์ปจํŠธ๋กค

  • ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š์Œ

๐Ÿ“Ždelegate

Navigation Controller์˜ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋Œ€๋ฆฌ์ž

๐Ÿ“–Navigation Controller ๊ตฌํ˜„

๐Ÿ“Ž์™•์ดˆ๋ณด Navigation Controller in Code