[iOS SwiftUI] ๋ ˆ์ด์•„์›ƒ: Frame

[์›๋ณธ ๋งํฌ]

Frame์€ ๋ ˆ์ด์•„์›ƒ์„ ๋ฐฐ์น˜ํ• ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ์ด๋‹ค.
์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค.




Frame

frame์€ View์˜ ๊ธฐ๋ณธ ๋ฉ”์„œ๋“œ๋กœ, ๋ทฐ์˜ ํฌ๊ธฐ๋ฅผ ์ •ํ•ด์ค„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์ฃผ์ง€ ์•Š๊ณ  ๋ทฐ๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด

๊ฐ€๋Šฅํ•œ ์ „์ฒด ์˜์—ญ์„ ์ „๋ถ€ ์‚ฌ์šฉํ•˜๊ณ  ๋งŒ๋‹ค.

์ด๋Ÿด๋•Œ๋Š” frame์œผ๋กœ ์‚ฌ์ด์ฆˆ๋ฅผ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.




๋ถ€๋ชจ์™€ ์ž์‹

๊ทธ๋Ÿฐ๋ฐ ์ด๊ฑธ ์“ธ๋•Œ ์ข€ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค.
๋ณดํ†ต ๋ถ€๋ชจ์™€ ์ž์‹ ๋ทฐ๊ฐ€ ์žˆ์œผ๋ฉด, ๋ถ€๋ชจ๊ฐ€ ์ž‘์„ ๊ฒฝ์šฐ์— ์ž์‹๋„ ์ž๋™์œผ๋กœ ์ž‘๊ฒŒ ๋งž์ถœ ๊ฒƒ์ด๋ผ๊ณ  ๊ธฐ๋Œ€๋ฅผ ํ•˜๋Š”๋ฐ, ์ด๊ฑด ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋งŒ์•ฝ ๋‹ค์Œ๊ณผ ๊ฐ™์ด VStack์„ ๋” ์ž‘๊ฒŒ ์ฃผ๋ฉด

๊ทธ๋ƒฅ ์ž์‹๋†ˆ์ด ๊ทธ๊ฑธ ๋ฌด์‹œํ•˜๊ณ  ์‚์ณ๋‚˜์™€๋ฒ„๋ฆฐ๋‹ค.

frame์€ ๊ธฐ๋ณธ์ ์œผ๋กœ "์ž์‹๋ถ€ํ„ฐ" ๊ณ„์‚ฐํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ๊นŒ์ง€ ๋Œ€์‘ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ณ ์ •๊ฐ’์ด ์•„๋‹ˆ๋ผ min max๋กœ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค.
๊ทธ๋Ÿผ ๋ถ€๋ชจ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ์ตœ๋Œ€ํ•œ์œผ๋กœ ๋งž์ถฐ์ค„ ๊ฒƒ์ด๋‹ค.




๋ถ€๋ชจ์—๊ฒŒ ๋– ๋„˜๊ธฐ๊ธฐ

min์„ 0์œผ๋กœ, max๋ฅผ ๋ฌดํ•œ๋Œ€๋กœ ์ค€๋‹ค๋ฉด ๊ทธ๋ƒฅ ๋ถ€๋ชจ ํ”„๋ ˆ์ž„์— ๋งž์ถฐ์„œ ์•Œ์•„์„œ ๋‚˜๋ˆ  ์“ฐ๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๊ทธ๋Ÿผ ์•Œ์•„์„œ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„๋ฐฐํ•œ๋‹ค.



์ฐธ์กฐ
https://medium.com/hcleedev/swift-frame-padding-spacer%EC%99%80-%EA%B7%B8-%ED%99%9C%EC%9A%A9-241f2c7bacbe