ํ”„๋กœ์ ํŠธ/Today I Define

[Today I Define] NavigationBar๋ฅผ ๋ฎ์ง€ ๋ชปํ•˜๋Š” ์ด์Šˆ

๊ฒฝํ‘ธ 2022. 5. 15. 13:30
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”~

์˜ค๋Š˜์€ 

๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๊นŒ์ง€ ๋ทฐ๊ฐ€ ๋ฎ์ง€ ๋ชปํ–ˆ๋˜ ์ด์Šˆ๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : )

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์šฐ์ธก ํ•˜๋‹จ์˜ ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฒŒ ๋˜๋ฉด 

๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ์ œ์™ธํ•œ ์˜์—ญ๋งŒ ๋ฎ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ‹ฐ๋“œ

 

์‹œ๋„ํ–ˆ๋˜ ๋ฐฉ๋ฒ•๋“ค์„ ๋จผ์ € ์†Œ๊ฐœํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ฒซ ๋ฒˆ์งธ, zPositon์„ ์ˆ˜์ •ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•  ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐ์—์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ์— zPositon์˜ ๊ฐ’์„ OverlayView๋ณด๋‹ค ์ž‘๊ฒŒ ์ฃผ์–ด ํ™•์ธํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

๋‘ ๋ฒˆ์งธ, ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ JJFloatingActionButton ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ OverlayView๊ฐ€ ์•„๋‹Œ ์ปค์Šคํ…€ ๋ทฐ๋ฅผ ๋งŒ๋“ค์–ด ์ ์šฉํ–ˆ์œผ๋‚˜ ์—ญ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

์„ธ ๋ฒˆ์งธ, ๊ทธ๋Ÿฌ๋ฉด navigationBar์— ์ปค์Šคํ…€๋ทฐ๋ฅผ ๋”ฐ๋กœ ๋„ฃ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ ์ƒ๊ฐํ•˜์—ฌ ์‹ฌ์‹ฌํ’€์ด๋กœ ์ ์šฉํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ์ค„ ์•Œ์•˜์ง€๋งŒ ๋‹น์—ฐํ•˜๊ฒŒ๋„ statusBar๊นŒ์ง€๋Š” ์ปค๋ฒ„ํ•ด์ฃผ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

๋„ค ๋ฒˆ์งธ, Hierarchy(๊ณ„์ธต)๋ฅผ ์‚ดํŽด๋ณด๊ณ  ํ•ด๊ฒฐํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

MainViewController์˜ overlayView๊ฐ€ ์ ์šฉ๋œ ๋ชจ์Šต

 

ํ˜„์žฌ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ ( Root )์˜ Child์— ๋ฌด์—‡์ด ํฌํ•จ๋˜์–ด ์žˆ๋‚˜ ํ™•์ธํ•ด ๋ดค์Šต๋‹ˆ๋‹ค.

 

Optional([<UINavigationTransitionView: 0x7fae51614c10; frame = (0 0; 390 844); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x600003bf57a0>>, <UINavigationBar: 0x7fae5141f990; frame = (0 47; 390 148); opaque = NO; autoresize = W; tintColor = UIExtendedGrayColorSpace 0 1; layer = <CALayer: 0x600003a4fc80>>)

 

UINavigationTransitionView์™€ UINavigationBar๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๊ณณ์— ๋ฒ„ํŠผ์„ ๋„ฃ๊ฒŒ ๋˜๋ฉด ๋ฒ„ํŠผ๊ณผ Navigation Bar์˜ ํ•˜์ด๋ผํ‚ค๊ฐ€ ๋™์ผ์„ ์ƒ์— ์žˆ๊ฒŒ ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ์ ์šฉํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. 

๊ฒฐ๊ณผ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž˜ ์ ์šฉ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

๋‹ค์‹œ ํ•œ๋ฒˆ ํ•˜์ด๋ผํ‚ค๋ฅผ ํ™•์ธํ•ด ๋ณด๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์ด OverlayView๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ  ์žˆ๋˜ SuperView๋ฅผ ๋ฐ”๊ฟ”์คฌ๊ธฐ ๋•Œ๋ฌธ์— 

ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜๋Š” ๋ณ€๊ฒฝ ์ดํ›„ ์ ์šฉ๋œ ํ•˜์ด๋ผํ‚ค์ž…๋‹ˆ๋‹ค.

Overlay View๊ฐ€ ์—ญํ• ์„ ํ•ด์ค€ ๋ชจ์Šต

 

 

์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค : )

๊ทธ๋Ÿผ ์ด๋งŒ ๐Ÿ‘‹๐Ÿป ๐Ÿ‘‹๐Ÿป ๐Ÿ‘‹๐Ÿป

๋ฐ˜์‘ํ˜•