iOS

[ iOS ] Bounds์™€ Frame ๋น„๊ต - 1. ๊ณต์‹๋ฌธ์„œ์™€ origin

Forest Yun 2023. 6. 30. 16:08
728x90

 

๐Ÿค” ๋ฌธ์ œ ๐Ÿค”

Bounds์™€ Frame์˜ ์ฐจ์ด๋Š” ๋ญ˜๊นŒ? UIView์—๋Š” bounds ํ”„๋กœํผํ‹ฐ์™€ frame ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ด๋„ ๋‘˜์˜ ์ฐจ์ด๋Š” ํฌ๊ฒŒ ์™€๋‹ฟ์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ StoryBoad๋ฅผ ์‚ฌ์šฉํ•ด ์‹ค์Šตํ•˜๋ฉฐ View์˜ Bounds์™€ Frame์„ ๋น„๊ต ๋ถ„์„ ํ•ด๋ณด์ž!

 

 


 

 

 

1. ๊ณต์‹๋ฌธ์„œ์™€ origin

 

๐Ÿ“š๊ณต์‹๋ฌธ์„œ ํ™•์ธํ•˜๊ธฐ

Bounds์˜ ๊ณต์‹๋ฌธ์„œ

/UIKit /Views and controls /UIView /bounds
Instance Property

bounds
์ž์ฒด ์ขŒํ‘œ ์‹œ์Šคํ…œ์œผ๋กœ ํ•ด๋‹น view์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒฝ๊ณ„ ์‚ฌ๊ฐํ˜•

๊ธฐ๋ณธ์ ์ธ bound ์›์ ์€ (0, 0)์ด๊ณ , size๋Š” frame ํ”„๋กœํผํ‹ฐ์— ์žˆ๋Š” ์‚ฌ๊ฐํ˜•์˜ size์™€ ๋™์ผํ•˜๋‹ค. ์ด ์‚ฌ๊ฐํ˜•์˜ size ๋ณ€ํ™”๋Š” center  point๋ฅผ ๊ธฐ์ค€์œผ๋กœ view๋ฅผ ์ปค์ง€๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ค๊ฒŒ ํ•œ๋‹ค. size ๋ณ€ํ™”๋Š” ๋˜ frame ํ”„๋กœํผํ‹ฐ์˜ ์‚ฌ๊ฐํ˜• size๊ฐ€ ์ผ์น˜๋˜๋„๋ก ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ฒฝ๊ณ„ ์‚ฌ๊ฐํ˜•์˜ ์ขŒํ‘œ๋Š” ํ•ญ์ƒ point๋กœ ์ง€์ •๋œ๋‹ค.
๊ฒฝ๊ณ„ ์‚ฌ๊ฐํ˜•์˜ ๋ณ€ํ™”๋Š” draw(_:) ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์—†์ด ์ž๋™์œผ๋กœ view๋ฅผ ๋‹ค์‹œ ํ‘œ์‹œํ•œ๋‹ค. ๋งŒ์•ฝ ๋‹น์‹ ์ด UIKit๊ฐ€ draw(_:) ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค๋ฉด, contentMode ํ”„๋กœํผํ‹ฐ๋ฅผ UIView.ContentMode.redraw ๋กœ ์„ค์ •ํ•ด๋ผ. ์ด ํ”„๋กœํผํ‹ฐ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Frame์˜ ๊ณต์‹๋ฌธ์„œ

/UIKit /Views and controls /UIView /frame
Instance Property

frame
๋ถ€๋ชจ ๋ทฐ์˜ ์ขŒํ‘œ ์‹œ์Šคํ…œ์— ๊ธฐ๋ฐ˜ํ•œ view์˜ ์œ„์น˜์™€ ํฌ๊ธฐ์„ ํ‘œํ˜„ํ•˜๋Š” ํ‹€ ์‚ฌ๊ฐํ˜•

์ด ์‚ฌ๊ฐํ˜•์€ ๋ถ€๋ชจ ๋ทฐ์˜ ์ขŒํ‘œ ์‹œ์Šคํ…œ์„ ๊ธฐ์ค€์œผ๋กœ ๋ทฐ์˜ ํฌ๊ธฐ์™€ ์œ„์น˜๋ฅผ ์ •์˜ํ•œ๋‹ค. ๋ ˆ์ด์•„์›ƒ ์ž‘์—… ๋™์•ˆ ์ด ์‚ฌ๊ฐํ˜•์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ทฐ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. frame ํ”„๋กœํผํ‹ฐ ์„ค์ •์€ center ํ”„๋กœํผํ‹ฐ์— ์˜ํ•ด ์ง€์ •๋œ point๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ , bounds ์‚ฌ๊ฐํ˜•์˜ size๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚จ๋‹ค. frame ์‚ฌ๊ฐํ˜•์˜ ์ขŒํ‘œ๋Š” ํ•ญ์ƒ point ๋‹จ์œ„๋กœ ์„ค์ •๋œ๋‹ค.
 
(Warning) ๋งŒ์•ฝ transform ํ”„๋กœํผํ‹ฐ๊ฐ€ ์‹๋ณ„ transform์ด ์•„๋‹ˆ๋ผ๋ฉด, ์ด ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์€ ์ •์˜๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฌด์‹œํ•ด์•ผํ•œ๋‹ค.
 
frame ์‚ฌ๊ฐํ˜•์€ ๋ณ€ํ™”๋Š” draw(_:) ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์—†์ด ์ž๋™์œผ๋กœ ๋ทฐ๋ฅผ ๋‹ค์‹œ ํ‘œ์‹œํ•œ๋‹ค. ๋งŒ์•ฝ frame ์‚ฌ๊ฐํ˜•์ด ๋ณ€๊ฒฝ๋  ๋•Œ UIKit๊ฐ€ draw(_:) ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค๋ฉด, contentMode ํ”„๋กœํผํ‹ฐ๋ฅผ UIView.ContentMode.redraw ๋กœ ์„ค์ •ํ•˜๋ผ.
์ด ํ”„๋กœํผํ‹ฐ ๋ณ€๊ฒฝ์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ transform ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋น„์‹๋ณ„ transform์„ ํฌํ•จํ•œ๋‹ค๋ฉด, frame ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์€ ์ •์˜๋˜์–ด์งˆ ์ˆ˜ ์—†์œผ๋ฉฐ ์ˆ˜์ •ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—, center ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ทฐ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๊ณ  ๋Œ€์‹  bounds ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ size๋ฅผ ์กฐ์ •ํ•˜๋ผ.

 

๊ณต์‹ ๋ฌธ์„œ์— ๋‚˜์˜จ ๋‚ด์šฉ๋“ค๋กœ ๋น„๊ต ํ‘œ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž. ์•„๋ž˜ ๊ตฌ๋ถ„์€ ์‹ค์Šต์„ ํ•˜๋‹ค๋ณด๋ฉด ๋‹ค ์—ฐ๊ด€๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฃผ์˜๊นŠ๊ฒŒ ๋ณด๋ฉด ์ข‹๋‹ค.

  bounds frame
ํ‘œํ˜„ ๊ฒฝ๊ณ„, ๋ฒ”์œ„ ํ‹€
์ขŒํ‘œ ์ž์ฒด ์ขŒํ‘œ ์‹œ์Šคํ…œ - (0, 0) ๊ธฐ์ค€ ๋ถ€๋ชจ ๋ทฐ์˜ ์ขŒํ‘œ ์‹œ์Šคํ…œ
๋‹จ์œ„ point point
์• ๋‹ˆ๋ฉ”์ด์…˜ o o
์ž๋™ ๋ทฐ ํ‘œ์‹œ o o
๊ด€๋ จ๋œ ํ”„๋กœํผํ‹ฐ frame frame, center, transform

 

 

 

๐Ÿฆพ์‹ค์Šตํ•˜๊ธฐ

Frame ์‹ค์Šต

1. ๋ณด๋ผ๋ทฐ frame์˜ ๊ธฐ๋ณธ origin ํ™•์ธํ•˜๊ธฐ

๋ณด๋ผ๋ทฐ๋ฅผ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋กœ ๋ฐฐ์น˜ํ•œ ํ›„  print(purpleView.frame  ๋ฅผ ํ•ด๋ณด๋ฉด ๊ทธ๋ฆผ ์† ์ขŒํ‘œ๊ฐ’์ด ๋‚˜์˜จ๋‹ค

 

 

2. ๋ณด๋ผ๋ทฐ์˜ frame.origin์„ (0, 0)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

frame์€ ๋ถ€๋ชจ ๋ทฐ ๊ธฐ๋ฐ˜์˜ ์ขŒํ‘œ ์‹œ์Šคํ…œ์„ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋ผ๋ทฐ๋Š” ๊ฐ€์žฅ ์ƒ์œ„ View์˜ ์ขŒํ‘œ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ (0, 0)์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๋ณด๋ผ๋ทฐ์˜ ์ž์‹๋ทฐ๋“ค ๋˜ํ•œ ๋ถ€๋ชจ๋ทฐ์— ๊ธฐ๋ฐ˜ํ•œ frame์„ ๊ฐ–๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ณด๋ผ๋ทฐ๋ฅผ ๋”ฐ๋ผ ์ด๋™ํ•œ๋‹ค. ์ฆ‰ ๋ณด๋ผ๋ทฐ์˜ frame.origin์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์ž์‹๋ทฐ๋„ ๋”ฐ๋ผ๊ฐ„๋‹ค.

 

 

3. ๋…ธ๋ž‘๋ทฐ์˜ frame.origin์„ (0, 120)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

๋…ธ๋ž‘๋ทฐ๋Š” ๋ถ€๋ชจ์ธ ๋ณด๋ผ๋ทฐ์˜ ์ขŒํ‘œ์‹œ์Šคํ…œ์— ๊ธฐ๋ฐ˜ํ•ด (0, 120)์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ž์‹๋ทฐ๊ฐ€ ๋”ฐ๋ผ๊ฐ„๋‹ค.

 

4. ๋ฏผํŠธ๋ทฐ์˜ frame.origin์„ (0, 0)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

๋ฏผํŠธ๋ทฐ๋Š” ๋ถ€๋ชจ์ธ ๋…ธ๋ž‘๋ทฐ์˜ ์ขŒํ‘œ ์‹œ์Šคํ…œ์— ๊ธฐ๋ฐ˜ํ•ด (0, 0)์œผ๋กœ ์ด๋™ํ•œ๋‹ค. 

 

 

 

bounds ์‹ค์Šต

frame์€ ๊ณต์‹๋ฌธ์„œ๋งŒ์œผ๋กœ๋„ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•ด ์‹ค์Šต๋„ ๋ฌด๋ฆฌ์—†์ด ์ง„ํ–‰ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ bounds๋Š” ๊ณต์‹๋ฌธ์„œ๋งŒ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ์— ์กฐ๊ธˆ ์–ด๋ ค์›€์ด ์žˆ์–ด ์‹ค์Šต์ด ๊ผญ ํ•„์š”ํ•˜๋‹ค.

 

1. ๋ณด๋ผ๋ทฐ์˜ bounds์˜ ๊ธฐ๋ณธ origin ํ™•์ธํ•˜๊ธฐ

๋ณด๋ผ๋ทฐ๋ฅผ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋กœ ๋ฐฐ์น˜ํ•œ ํ›„ print(purpleView.bounds) ๋ฅผ ํ•ด๋ณด๋ฉด (0, 0) ์ขŒํ‘œ๊ฐ’์ด ๋‚˜์˜จ๋‹ค. ๋ณด์ด๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๊ฐ’์— ์ฒ˜์Œ์—๋Š” ๋‹นํ™ฉํ–ˆ์ง€๋งŒ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ์ดํ•ด๊ฐ€๋Šฅํ•˜๋‹ค. ๊ณต์‹ ๋ฌธ์„œ์—๋Š” bounds์˜ ๊ธฐ๋ณธ์ ์ธ ์›์ ์ด (0, 0)์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ฆ‰, ํ˜„์žฌ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋กœ ๋ฐฐ์น˜๋œ ์œ„์น˜๊ฐ€ ์ž์ฒด ์ขŒํ‘œ๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” bounds์˜ (0, 0)์ธ ๊ฒƒ์ด๋‹ค.

 

2. ๋ณด๋ผ๋ทฐ bounds.origin์„ (100, 0)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

๋ณด๋ผ๋ทฐ์˜ bounds.origin์„ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ์ž์‹๋ทฐ๊ฐ€ ์›€์ง์ธ๋‹ค. ์˜คํžˆ๋ ค ๋ณด๋ผ๋ทฐ๋Š” ๊ทธ ์ž๋ฆฌ์— ๊ฐ€๋งŒํžˆ ์žˆ๋Š”๋‹ค.

 

3. ๋…ธ๋ž‘๋ทฐ bounds.origin์„ (100, 0)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

๋ณ€๊ฒฝ๋œ ๋ณด๋ผ๋ทฐ๋ฅผ ๋‘๊ณ  ์ด์ œ ๋…ธ๋ž‘๋ทฐ๋ฅผ ๋ณ€๊ฒฝํ•ด๋ณด์ž. ๊ทธ๋Ÿผ ์ž์‹๋ทฐ๊ฐ€ ์›€์ง์—ฌ ์žˆ๊ณ , ์˜คํžˆ๋ ค ๋…ธ๋ž‘๋ทฐ๋Š” ๊ทธ ์ž๋ฆฌ์— ๊ทธ๋Œ€๋กœ์ด๋‹ค.

 

4.  ์ตœ์ƒ์œ„ View์˜ bounds.origin์„ (100, 0)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

๊ทธ๋Ÿผ ์ตœ์ƒ์œ„ View๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ๋ณ€๊ฒฝ๋œ ๋ณด๋ผ๋ทฐ, ๋…ธ๋ž‘๋ทฐ๋ฅผ ๋‘๊ณ  ์ตœ์ƒ์œ„ View๋ฅผ ๋ณ€๊ฒฝํ•ด๋ณด๋ฉด, ์ž์‹๋ทฐ๋“ค์ด ์ด๋™ํ•œ๋‹ค. View๋Š” ๊ทธ ์ž๋ฆฌ ๊ทธ๋ž˜๋„์ด๋‹ค.

 

 

๐Ÿ—ƒ๏ธ์ •๋ฆฌํ•˜๊ธฐ

์–ด๋–ป๊ฒŒ ํ•ด๋‹น ๋ทฐ๊ฐ€ ์•„๋‹Œ ์ž์‹๋ทฐ๋“ค์ด ์›€์ง์ผ๊นŒ? ์ด๋Š” ํœด๋Œ€ํฐ ํ™”๋ฉด์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์‰ฝ๋‹ค. 

์šฐ๋ฆฌ๊ฐ€ ํฐ ์‚ฌ์ง„์„ ํœด๋Œ€ํฐ์œผ๋กœ ํ™•๋Œ€ํ–ˆ์„ ๋•Œ ํ™”๋ฉด์— ๋‹ด๊ธฐ๋Š” ๋ถ€๋ถ„๋งŒ ์šฐ๋ฆฌ๋Š” ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ขŒ์šฐ๋กœ ํ™”๋ฉด์„ ์ด๋™ํ•˜๋ฉด ํ™”๋ฉด์— ๋‹ด๊ธฐ์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ์ž˜๋ฆฌ๊ฒŒ ๋œ๋‹ค. bounds๋„ ๋˜‘๊ฐ™๋‹ค. ๋ณด๋ผ๋ทฐ๋ฅผ ํœด๋Œ€ํฐ ํ™”๋ฉด์ด๋ผ ์ƒ๊ฐํ•ด๋ณด์ž. ๋ณด๋ผ๋ทฐ์— ์†๊ฐ€๋ฝ์„ ๋Œ€ ์˜ค๋ฅธ์ชฝ 100์ •๋„ ์ด๋™์‹œํ‚จ๋‹ค ์ƒ๊ฐํ•ด๋ณด์ž.๊ทธ๋Ÿผ ๋…ธ๋ž‘๋ทฐ๋Š” ์•„๋ž˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™๋˜์–ด ์ผ๋ถ€๋ถ„๋งŒ ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

Bounds๋Š” ๊ณง ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด์ธ ๊ฒƒ์ด๋‹ค. ์ฆ‰ View, ๋ณด๋ผ๋ทฐ, ๋…ธ๋ž‘๋ทฐ์˜ bounds๊ฐ€ ๋ทฐ ๊ฐ๊ฐ์˜ ํ™”๋ฉด์ธ ๊ฒƒ์ด๋‹ค.

 

 

 

ScrollView

์œ„์˜ ์˜ˆ์‹œ๋Š” ๋ญ”๊ฐ€ ์–ด๋””์„œ ๋งŽ์ด ๋ณธ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐ”๋กœ ์šฐ๋ฆฌ๊ฐ€ ํ™”๋ฉด์„ ์Šคํฌ๋กคํ•˜๋Š” ์ž‘์—…๊ณผ ๋™์ผํ•˜๋‹ค. ScrollView์—๋Š” ์ „์ฒด ๋‚ด์šฉ์— ํ•ด๋‹นํ•˜๋Š” Content์˜์—ญ์ด ์žˆ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด์ธ frame ์˜์—ญ์ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ƒํ•˜์ขŒ์šฐ ์Šคํฌ๋กค์„ ํ•˜๋ฉฐ Content์˜์—ญ์„ ๋Œ์•„๋‹ค๋‹Œ๋‹ค. ์ด๋•Œ ์šฐ๋ฆฌ๊ฐ€ ์–ด๋””๋ฅผ ๋ณด๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ขŒํ‘œ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ๊ฒŒ ๋ฐ”๋กœ contentOffset ํ”„๋กœํผํ‹ฐ์ด๋‹ค. contentOffset๊ณผ bounds๋Š” ๋™์ผํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ScrollView์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ด์ „ ๊ธ€์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

[ iOS ] ScrollView ํ™”๋ฉด ์บก์ณํ•˜๊ธฐ (Image Creation)

๋ฌธ์ œ ๋ฌด๋‹ค, ๊พธ์ฃผ๋‹ˆ ๋“ฑ ๋ช‡๋ช‡ ์•ฑ๋“ค์€ ํ™”๋ฉด์„ ์บก์ณํ•œ ๋“ฏ ์ด๋ฏธ์ง€ํ™”ํ•ด ์ €์žฅ ๋˜๋Š” ๊ณต์œ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์˜ค๋Š˜์€ ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ธ๋ฐ, ํ™”๋ฉด ์บก์ณ์—์„œ ๋” ๋‚˜์•„๊ฐ€ ํ™”๋ฉด ๋ฐ– ์•„๋ž˜๋กœ ๋‚ด์šฉ์ด ๊ณ„์†

88yhtserof.tistory.com

 

 

 

๊ฐ๊ฐ์˜ origin์€ ์–ด๋””์— ์ ์šฉ๋ ๊นŒ?

Frame์€ ๋ถ€๋ชจ ๋ทฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‹ค์ œ ๋ฐฐ์น˜๋˜๊ธฐ ๋•Œ๋ฌธ์— Layout์„ ๊ตฌ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

Bounds๋Š” ๊ตฟ๋…ธํŠธ๊ฐ™์€ ๊ฑธ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ตฟ๋…ธํŠธ์˜ ๊ฒฝ์šฐ ํ™•๋Œ€์™€ ์ด๋™์ด ์ž์œ ๋กœ์šด๋ฐ, ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ์ž์ฒด ์ขŒํ‘œ๊ณ„๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด ํ™”๋ฉด ์—ญํ• ์„ ํ•˜๋Š” bounds๊ฐ€ ์ ํ•ฉํ•  ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ์•„์ง ์‹ค์Šตํ•ด๋ณด์ง€ ์•Š์•„ ์ •ํ™•ํ•˜์ง€ ์•Š๋‹ค.

 

 

 

 

2ํŽธ

 

[ iOS ] Bounds์™€ Frame ๋น„๊ต - 2. Size

๐Ÿค” ๋ฌธ์ œ ๐Ÿค” Bounds์™€ Frame์˜ ์ฐจ์ด๋Š” ๋ญ˜๊นŒ? UIView์—๋Š” bounds ํ”„๋กœํผํ‹ฐ์™€ frame ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ด๋„ ๋‘˜์˜ ์ฐจ์ด๋Š” ํฌ๊ฒŒ ์™€๋‹ฟ์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ StoryBoad๋ฅผ ์‚ฌ์šฉํ•ด ์‹ค์Šตํ•˜๋ฉฐ View์˜ Bounds์™€ Fra

88yhtserof.tistory.com

 

 

 

 

frame
bounds
โญ๏ธFrame vs Bounds ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ธฐ
728x90