Focus On Develop ๐ŸคŸ๐ŸคŸ

[Swift] CGRect, CGSize, CGPoint ๋ณธ๋ฌธ

iOS [Swift]/๊ธฐ์ดˆ๋ฅผ ํƒ„ํƒ„ํžˆ!

[Swift] CGRect, CGSize, CGPoint

๋ˆ„๋ฆฌ๋‹ฌ์ดํ‹€ 2021. 2. 5. 16:10

๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด ํ• ์ˆ˜๋ก Interface Builder ๋กœ๋งŒ UI์ž‘์—…์„ ํ•˜๋Š”๊ฒŒ ํ•œ๊ณ„๊ฐ€ ์žˆ๋”๋ผ๊ตฌ์š”! 

๐Ÿ‘‰ Storyboard vs Programmatic UI ๋ฐ”๋กœ๋ณด๊ธฐ

 

๊ทธ๋ž˜์„œ ์ €๋Š” Programmatically AutoLayout์— ์ž…๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค!!

์ด๋Ÿฐ ์ €๋Ÿฐ ์†Œ์Šค๋ฅผ ๋ณด๋ฉด CG ์–ด์ฉŒ๊ตฌ ์ €์ฉŒ๊ตฌ..๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ๋‚ด๊ฐ€ ์•„๋Š” CG๋Š” ์˜ํ™”๋ณด๋ฉด์„œ "์—์ด~์ €๊ฑฐ CG๋„ค" ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ ๋ฟ์ธ๋ฐ..๐Ÿ˜‚๐Ÿ˜‚

๊ทธ๋ž˜์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ธฐ์ดˆ์ ์ธ ๊ฒƒ๋ถ€ํ„ฐ ์ •๋ฆฌํ•ด๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!!


๋จผ์ €, CG CG ํ•˜๋Š”๋ฐ CG๊ฐ€ ๋ญ˜๊นŒ์š”~?

 

๊ทธ๋ ‡๋Œ€์š”. ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด Swift์—์„œ 2์ฐจ์›์ƒ์˜ ํ™”๋ฉด์„ ๊ทธ๋ฆด๋•Œ ์‚ฌ์šฉํ•˜๋Š” Framework๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋งŽ์ด ๋“ค์–ด๋ณธ CGFloat, CGPoint, CGSize, CGRect, CGColor, CGFont ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ์š”์†Œ๊ฐ€ ์š” Framework์— ๋“ค์–ด์žˆ๋Š” ๊ฑฐ์—์š”!

์ด์ œ๋Š” CG๋ผ๊ณ  ํ•ด์„œ ์˜ํ™”์—์„œ ๋‚˜์˜ค๋Š”๊ฒƒ๋งŒ CG๊ฐ€ ์•„๋‹ˆ๋ž๋‹ˆ๋‹ค~~~ ๐Ÿ˜‚๐Ÿ˜‚

 

๊ทธ ์ค‘์—์„œ๋„ ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” CGPoint, CGRect, CGSize์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณผ๊ฑฐ์—์š”.

(์‚ฌ์‹ค ์ œ๊ฐ€ ์ง€๊ธˆ ๋ชฐ๋ผ์„œ ์ฐพ์•„๋ณด๊ณ  ์ •๋ฆฌํ•˜๋ ค๋˜ ์ฐธ์ด๊ฑฐ๋“ ์š” ใ…‹ใ…‹ใ…‹ใ…‹)

 

 

2์ฐจ์› ์ขŒํ‘œ๊ณ„์˜ ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ์ฒด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ •์˜๋ฅผ ๋ณด๋ฉด x, y ์ขŒํ‘œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋„ค์š”!

 

 

๊ทธ๋ƒฅ Apple Document๋„ ์‹น ๋‹ค ํ•œ๊ตญ์–ด ๋ฒ„์ „์œผ๋กœ ๋‚˜์™”์œผ๋ฉด~~ ๐Ÿ˜ญ๐Ÿ˜ญ

CGSize๋Š” ๋„ˆ๋น„, ๋†’์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ์ฒด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ •์˜๋ฅผ ๋ณด๋ฉด ๋„ˆ๋น„, ๋†’์ด๋งŒ ๋”ฑ ๊ฐ€์ง€๊ณ  ์žˆ๋„ค์š”!

์—ฌ๊ธฐ์„œ ํ•œ๊ฐ€์ง€ ์ฃผ์˜ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์€, ์ •๋ง๋กœ ๋„ˆ๋น„/๋†’์ด๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ์ฒด๋ผ๋Š” ์ ์ด์—์š”. CGSize๋„ ์‚ฌ๊ฐํ˜•์œผ๋กœ ๋งŽ์ด๋“ค ๋‚˜ํƒ€๋‚ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์‚ฌ๊ฐํ˜•์ด ์•„๋‹ˆ๋ผ ๋„ˆ๋น„/๋†’์ด๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ต๋‹ˆ๋‹ค~!

 

 

CGRect์•ผ ๋ง๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” "์‚ฌ๊ฐํ˜•" ์ด์—์š”. ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ๊ฐํ˜•์˜ ๊ตฌ์กฐ์ฒด ๋ผ๊ณ  ํ•ด์š”.

์‹ค์ œ๋กœ ์ •์˜๋ฅผ ๋ณด๋ฉด, ์ขŒํ‘œ(CGPoint)์™€ ํฌ๊ธฐ(CGSize)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์š”.

 

์—ฌ๊ธฐ์„œ orgin ์ขŒํ‘œ๋Š”, ์‚ฌ๊ฐํ˜•์„ ๊ทธ๋ฆด ์›์ ์„ ํ‘œํ˜„ํ•ด์š”. ์›์ ์€ ์‚ฌ๊ฐํ˜•์˜ ์™ผ์ชฝ์œ„ ๊ผญ์ง€์ ์„ ์˜๋ฏธํ•œ๋‹ต๋‹ˆ๋‹ค.

orgin๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ, ๋„ˆ๋น„์™€ ๋†’์ด๊ฐ€ CGSize์ธ ์‚ฌ๊ฐํ˜•์„ ๊ทธ๋ ค๋ผ! ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•„์š”.

 

์‹ค์ œ๋กœ ์‚ฌ์šฉํ• ๋•Œ๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค~! x,y์ขŒํ‘œ์™€ ๋„ˆ๋น„/๋†’์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

์ด๋ ‡๊ฒŒ Programmatically UI ๊ฐœ๋ฐœ์„ ์œ„ํ•ด์„œ ๊ธฐ์ดˆ๋ฅผ ์ •๋ฆฌํ•ด๋ดค๋Š”๋ฐ์š”~! ์ด ๋ถ€๋ถ„์€ ์•ž์œผ๋กœ๋„ ๋งค์šฐ๋งค์šฐ๋งค์šฐx2000 ๋งŽ์ด ๋ณด๊ฒŒ ๋  ๋‚ด์šฉ๊ฐ™์œผ๋‹ˆ, ์ดˆ๋ฐ˜์— ์ด๋ ‡๊ฒŒ ์ •๋ฆฌํ•ด๋†“๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค~!

Comments