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

[iOS/UI] ํƒญ๋ฐ” ๊ธธ์ด ์กฐ์ • ๋ฐ ์•„์ดํ…œ ์œ„์น˜ ๋ฐฐ์—ด(UITabBar height & UITabBar item image insets)

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

์•„๋ž˜์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด ๋‚ด ๊ธฐ์ค€์—์„  ํƒญ๋ฐ” ์•„์ดํ…œ๋“ค์ด ์‚ด์ง ์œ„๋กœ ๊ฐ€์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋‹ค๊ฐ€ ์• ํ”Œ๋ฌธ์„œ์—์„œ ์•„๋ž˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์ด๋ฏธ์ง€ ์ธ์…‹์ด๋ผ๋Š” ๊ฑด๋ฐ ๊ฐ ๊ผญ์ง€์ ๋“ค์„ ์ง€์ •ํ•ด ์œ„์น˜๋ฅผ ์žฌ๋ฐฐ์—ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์šฐ์„  ์Šคํ† ๋ฆฌ๋ณด๋“œ์˜ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์— ํƒญ๋ฐ”์•„์ดํ…œ ์œ„์น˜๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์„ ํด๋ฆญํ•˜๊ณ  ์ธ์ŠคํŽ™ํ„ฐ๋ฅผ ์—ด๋ฉด

6๋ฒˆ์งธ size ์ธ์ŠคํŽ™ํ„ฐ์— image inset์ด ์žˆ๋‹ค. ๋ชจ๋‘ 0์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค.

๋‚œ ์•„์ดํ…œ๋“ค์„ ๋‚ด๋ ค์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”ํ…€์— -20๊ฐ’์„ ์ค˜๋ณด์•˜๋‹ค.

๊ทธ๋žฌ๋”๋‹ˆ ์ž˜ ์•ˆ๋ณด์ผ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์•„๋ž˜๋กœ ์•ฝ๊ฐ„ ์ด๋™ํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!

๊ทธ๋ฆฌ๊ณ  ๋˜ ์•„์ดํ…œ์„ ๋‚ด๋ฆฌ๊ธฐ๋ณด๋‹จ ํƒญ๋ฐ” ๋†’์ด๋ฅผ ์ค„์ด๋ฉด ๋˜์ง€ ์•Š์„๊นŒ? ๋ผ๋Š” ์ƒ๊ฐ์— ํƒญ๋ฐ” ํ—ค์ดํŠธ๋ฅผ ์กฐ์ •ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ฐพ๊ฒŒ ๋˜์—ˆ๊ณ  ์‰ฝ๊ฒŒ ์›ํ•˜๋Š” ๊ธธ์ด๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

extension UITabBar {
    override open func sizeThatFits(_ size: CGSize) -> CGSize {
    var sizeThatFits = super.sizeThatFits(size)
    sizeThatFits.height = 10 // ์›ํ•˜๋Š” ๊ธธ์ด
    return sizeThatFits
   }
}

์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ 10์œผ๋กœ ์ค„์–ด๋“ค ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€