๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS/UI

[iOS/UI] UITabbar ๊ฐ€์šด๋ฐ์— ๋ฒ„ํŠผ ๋„ฃ๊ธฐ

by Fomagran ๐Ÿ’ป 2019. 11. 26.
728x90
๋ฐ˜์‘ํ˜•

ํƒญ๋ฐ”๋ฅผ ์ด์šฉํ•˜๋‹ค๋ณด๋ฉด ๊ฐ€์šด๋ฐ๋‚˜ ํ˜น์€ ๋‹ค๋ฅธ ๊ณณ์— ๋ฒ„ํŠผ์ฒ˜๋Ÿผ ๋†“๊ณ ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํƒญ๋ฐ”๋Š” ๋ˆŒ๋ €์„ ๋•Œ๋งŒ ๊ทธ ์•ˆ์— ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ฒ„ํŠผ์„ ๋”ฐ๋กœ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•˜๋Š”๋ฐ์š” ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

์ฒซ๋ฒˆ์งธ๋กœ UITabbarController๋ฅผ ํ–‰์„ฑํ•ด์ค๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  setupMiddleButton์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด

๊ทธ ์•ˆ์— menuButton์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

๊ทธ ๋’ค ๋ฐฐ๊ฒฝ์ƒ‰์„(backgroundColor) ์ •ํ•˜๊ณ  ์›ํ•˜๋Š” ์ด๋ฏธ์ง€(setImage)๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ์–ด๋–ค ํ˜•์‹์œผ๋กœ ์ฑ„์›Œ๋„ฃ์„ ๊ฒƒ์ธ์ง€๋„ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.(contentMode)

๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ๊ฒŒ addTarget์„ ์„ค์ •ํ•ด์ฃผ๊ณ  ์…€๋ ‰ํ„ฐ ์•ˆ์— menuButtonActionํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

๊ทธ ๋’ค์— ์ฝ”๋“œ๋Š” ํœด๋Œ€ํฐ๋งˆ๋‹ค ํ™”๋ฉดํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์„œ ์„ค์ •ํ•ด์ฃผ๋Š” ๊ฑด๋ฐ ์•„์ง ์ž์„ธํžˆ๋Š” ์ €๋„ ์ดํ•ด๋ฅผ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ถฉ์€ safeArea๋ฅผ ์กฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

์•„๊นŒ ๋ง์”€๋“œ๋ ธ๋˜ menuButtonActionํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ด๊ฑด ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ๋ฌด์—‡์„ ํ• ๊ฑด์ง€ ์ ์–ด๋†“์€๊ฑด๋ฐ 

self.selectedIndex =2 ๋Š” ํƒญ๋ฐ” ์•„์ดํ…œ์ค‘ 0,1,2, ์ฆ‰ 3๋ฒˆ์งธ ๊ฐ€์šด๋ฐ ๊ฒƒ์„ ๋ˆ„๋ฅธ ๊ฒƒ๊ณผ ๊ฐ™์ดํ•ด๋ผ ๋ผ๋Š” ๊ฑฐ๊ณ 

sender.isHidden = true๋Š” sender๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋„ฃ์„ ๋ฒ„ํŠผ์ด๊ณ  isHidden = true ์ˆจ๊ธฐ๊ฒŒ ํ•ด๋ผ ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฒ„ํŠผ์ด ๊ฐ€์šด๋ฐ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!

์•„์ง ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ iphone8์ด๋‚˜ 11 ๋“ฑ ๊ฐ€์šด๋ฐ ํ™ˆ๋ฒ„ํŠผ์ด ์—†๋Š” ํœด๋Œ€ํฐ์€ ์ž์„ธํžˆ ๋ณด๋ฉด ๋ฒ„ํŠผ์ด ์‚ด์ง ์œ„๋กœ ๊ฐ€์žˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค ใ… 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€