๐Ÿ“ฑ App Development Study/iOS๐ŸŽ

[Udemy iOS & Swift Bootcamp] Auto Layout And Responsive UIs

ibelieveinme 2023. 3. 15. 02:33
728x90

๋ฐฐ๊ฒฝ์„ safe area ๊นŒ์ง€ ํ™•์žฅํ•˜๊ณ  ๋กœ๊ณ ๋ฅผ ์ • ์ค‘์•™์— ๋ฐฐ์น˜ํ•ด๋ณด์ž.

 

UI ๊ฐ์ฒด์— ์ œ์•ฝ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.

๊ฐ์ฒด์— ์ œ์•ฝ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋ฉด ์™ผ์ชฝ์— ๋ณด์ด๋Š” Constraints ๋ถ€๋ถ„์ด ์ƒ๊ฒจ์„œ ์–ด๋–ค ์ œ์•ฝ์กฐ๊ฑด์„ ๊ฑธ์—ˆ๋Š”์ง€ ํ™•์ธ/์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ™”๋ฉด ํ•˜๋‹จ์— ์ œ์•ฝ์กฐ๊ฑด ์ƒ์„ฑํ•˜๋Š” ๋ฒ„ํŠผ๋“ค์ด ์žˆ๋‹ค.

*๊ฐ€๋กœ ์ค‘์•™ ๋งž์ถ”๊ธฐ: Horizontally in Container

*์„ธ๋กœ ์ค‘์•™ ๋งž์ถ”๊ธฐ: Vertically in Container

 

*margin ์„ค์ •ํ•  ๋• ์ด๋ถ€๋ถ„ !

์ ์„  -> ์‹ค์„ ์œผ๋กœ ๋ฐ”๊พธ๊ณ  margin์„ ์ฃผ๋ฉด ๋œ๋‹ค. 0์ด๋ฉด margin ์—†์ด ์ƒํ•˜์ขŒ์šฐ์— ๋”ฑ ๋ถ™์ด๊ฒ ๋‹ค๋Š” ๋ง!(ํ™•์žฅ!)

 

๋งจ์œ„์•„๋ž˜๊ฐ€ Safe Area๋ผ๋Š” ๋งจ์œ„๋Š” ๋ฒ ํ„ฐ๋ฆฌํ‘œ์‹œ, ๋งจ์•„๋ž˜๋Š” ํ™”๋ฉด ์˜ฌ๋ฆฌ๋Š” ๋ฐ”?๊ฐ€ ์ƒ๊ธฐ๋Š” ๋ถ€๋ถ„์ด๋‹ค.

์•ฑ์„ Safe Area ๊นŒ์ง€ ์ฑ„์šฐ๊ณ  ์‹ถ๋‹ค๋ฉด Superview๋กœ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค. Constant ๋Š” 0์œผ๋กœ !

 

์ถ”๊ฐ€๋กœ, ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Constraints๋ฅผ ์ค„ ๋•Œ ๊ธฐ์ค€๊ฐ’์„ ํ•ด๋‹น ๊ฐ์ฒด๋กœ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.

์œ„ ์‚ฌ์ง„์€ Text๋ฅผ App Logo ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ 30์•„๋ž˜์— ๋†“์œผ๋ผ๊ณ  ์„ค์ •ํ•œ ๋ชจ์Šต.

 

 


 

 

[View ์„ค์ •ํ•˜๊ธฐ]

ํ•œ ํ™”๋ฉด์— ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๋ฐฐ์น˜๋˜์–ด ์žˆ์œผ๋ฉด ๊ธฐ์ค€์„ ์žก๊ธฐ๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ€๋กœ or ์„ธ๋กœ ๋“ฑ ๋ณต์žกํ•œ UI๋ฅผ ๋ฐฐ์น˜ํ•˜๋ ค๋ฉด View์™€ Stack View๋ฅผ ์‚ฌ์šฉํ•˜์ž. ํ™”๋ฉด์„ ๋‚˜๋ˆ„์–ด์„œ View ๋ฅผ ์ง€์ •ํ•ด์ฃผ๊ณ , View ๋“ค์„ Stack View ๋กœ ์—ฎ์–ด์ฃผ๋Š” ๊ฒƒ.

 

1) View ๋ฅผ ๋งŒ๋“œ๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•.

๊ฐ์ฒด ์ถ”๊ฐ€์—์„œ uiview ๊ฒ€์ƒ‰ํ•˜๊ธฐ.

ํ•˜๋‹จ์— ๋„ค๋ชจ ํด๋ฆญํ•ด์„œ View ๋งŒ๋“ค๊ธฐ.

Editor > Embed in > View ๋กœ ๋งŒ๋“ค๊ธฐ.

 

2. View์˜ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์„œ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ฒŒ ํ•˜์ž. ์†์„ฑ์˜ Label ์— ์›ํ•˜๋Š” ์ด๋ฆ„์„ ๋„ฃ์–ด์ค€๋‹ค.

 

3. ๊ฐ€๋กœ or ์„ธ๋กœ๋กœ Stack ์Œ“๋Š” ๋ชจ์–‘์œผ๋กœ ๋ณด์—ฌ์ค„ ํ•„์š”๊ฐ€ ์žˆ์„ ๋• Stack View(Vertical/Horizontal)๋ฅผ ์‚ฌ์šฉํ•˜์ž.

Stack View์˜ ์†์„ฑ์„ Vertical๋กœ ์„ค์ •ํ•˜๊ณ  ๋ฐฐ์น˜ ๋น„์œจ์„ Equally ๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ์ž๋™ ์„ค์ •๋œ๋‹ค.

 

4. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐฐ๊ฒฝ์„ ํ•˜์–€์ƒ‰ -> ํˆฌ๋ช…์ƒ‰์œผ๋กœ ๋ฐ”๊พธ๋ฉด ๋— !

 

5. ์ถ”๊ฐ€๋กœ ๋ฒ„ํŠผ์˜ ํ…์ŠคํŠธ๋ฅผ ํ…์ŠคํŠธ ๊ธธ์ด์— ๋งž๊ฒŒ ์œ ์—ฐํ•˜๊ฒŒ ๋งž์ถ”๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

๋จผ์ € ์ •์ค‘์•™์— ์œ„์น˜ํ•˜๋„๋ก ํšจ๊ณผ๋ฅผ ์ฃผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค.

 

์ด ์—๋Ÿฌ์—์„œ Remove Constraint ๋ฅผ Set Constraint to >= Current Width ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์ž.

 

๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ…์ŠคํŠธ ๊ธธ์ด์— ๋งž๊ฒŒ ํฌ๊ธฐ๊ฐ€ ๋ณ€๋™๋œ๋‹ค !

728x90