๐ Auto Layout ์ด๋ ?
์ ์ฝ์กฐ๊ฑด(Constraints)์ ๋ฐ๋ผ ๋ชจ๋ ๋ทฐ์ ํฌ๊ธฐ์ ์์น๋ฅผ ๋์ ์ผ๋ก ์ง์ ํ๋ ๊ฒ
์ด๊ฒ ์ ํ์ํ์ง? ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ Frame-Base Layout์ ๋ํ ์ฌ์ ์ง์์ด ํ์ํ๋ค.
Frame-Base Layout
Xcode ์์์ ์ด๋ฏธ์ง View์ ํฌ๊ธฐ์ ์์น๋ฅผ ์์ ๊ฐ์ด ์ง์ ํ๊ณ Simulator๋ก ์คํ์์ผ๋ณด์.
(reviewํ๋ฉด์ iPhone11๋ก ํ๊ณ , ํ๋ ์ ์ ํ์๊ฐ ๋จ๋ ์ค๊ฐ์ผ๋ก ์์น๋ฅผ ์ง์ ํ์)
์คํํ๋ฉด iPhone11์ ์์๊ฒ ์ ์ค์์ ์ ๋นํ ํฌ๊ธฐ๋ก ์ด๋ฏธ์ง๊ฐ ๋ฐฐ์น๋๋ค.
ํ์ง๋ง SE๊ฐ์ ๊ฒฝ์ฐ์๋ ์ค์์ ๋ฐฐ์น ๋์ง ์๊ณ ์์น๊ฐ ์ ๋งคํ๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ฒ์๋ landscape(๊ฐ๋ก๋ชจ๋) ๋ก ๋๋ ค ๋ณด์
โ ์ด๋ฏธ์ง๊ฐ ์ค์ข ๋๋ค.
์ด์ ๋, ์ฒ์์ x์ y์ ๊ฐ์ ์ธ๋ก๋ชจ๋์ ์ ์ค์์ธ ์ ๋๊ฐ (57,348)๋ก ์ ๋ ฅํ๊ธฐ ๋๋ฌธ !
์ด์ฒ๋ผ Frame-Base๋ ๋ค์ํ ํ๊ฒฝ์์ ๋๊ฐ์ view๋ฅผ ์ ๊ณตํ๋๊ฒ์ด ์ด๋ ต๋ค.
๊ทธ๋์ ์กด์ฌํ๋ Auto Layout !
Auto Layout
๋ค์ ์ ์ํ๋ฉด, ์ ์ฝ์กฐ๊ฑด(Constraints)์ ๋ฐ๋ผ ๋ชจ๋ ๋ทฐ์ ํฌ๊ธฐ์ ์์น๋ฅผ ๋์ ์ผ๋ก ์ง์ ํ๋ ๊ฒ
์ ์ฝ์กฐ๊ฑด์ ์๋์ ๊ฐ์ด view์ ์์น์ ํฌ๊ธฐ๋ฅผ Safe Area๋ฅผ ์ด์ฉํด ์๋์ ์ผ๋ก ์ ์ฝ์ ์ฃผ๋ ๊ฒ์ด๋ค.
Safe Area๋ฅผ ์ด์ฉํด ? ๊ทธ๊ฒ ๋ญ๋ฐ โโ
Safe Area
์คํฐ๋ธ ์ก์ค์ ์์ดํฐ ๋์์ธ์ ๋ ์ฌ๋ ค๋ณด์. ๋ฒ ์ ค์ด ๋๊ป๊ณ , ํ๋ฒํผ์ด ์๋ ๋์์ธ์ด๋ค.
์ด ๋์์ธ์ ๋ฌด์กฐ๊ฑด ํ๋ฉด์ด ์ง์ฌ๊ฐํ ํํ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ก๋ชจ๋์ ๋ํด ์ ๊ฒฝ์ฐ์ง ์๊ณ ๊ตฌํํ ์ ์์๋ค.
๊ทธ๋์ ์ด์ ์๋ Layout Guide๋ผ๋ ๊ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ ค์ง๋ view (์ํbar) ๋ง ์ ๊ฒฝ์ฐ๋ฉด ๋๋ค.
ํ์ง๋ง ํ์ฌ ๋๋ถ๋ถ์ ์์ดํฐ์ ๋์์ธ์ ์ด๋ฌํ๋ค. ๋ ธ์น๋ผ๊ณ ํ๋ ํ๋ชจ๋์์ธ์ด ์๊ฒจ๋๊ฒ !
์ฌ๊ธฐ์ ๊ณ ๋ คํด์ผํ ์ ์ landscape์ด๋ค. view๋ฅผ ์ธ๋ก๋ชจ๋๋ง ๊ณ ๋ คํ์ฌ ๋ง๋ค๋ฉด ๊ฐ๋ก๋ชจ๋์์ ๋ ธ์น ๋ถ๋ถ์ view๊ฐ ๊ฐ๋ ค์ง ์ ์๊ธฐ ๋๋ฌธ !
๊ทธ๋์ Safe Area๋ฅผ ๋๊ณ , ๋ณด์ด์ง ์์ ์ ์๋ ๋ถ๋ถ๊น์ง ์์ญ์ ํ์ฅํ์ง ์๋๋ก ๋์์ค๋ค.
Safe Area๋ก Constraints ์ ์ฉํ View
Safe Area๋ก Constraints ์ ์ฉํ์ง ์์ View
'๐ฑ iOS > SwiftUI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๋ฐ์ด์ค ํ๋ฉด๊ณ ์ portrait only (0) | 2022.07.25 |
---|---|
[SwiftUI] Grid์์ฑ (0) | 2022.07.05 |
URLSession์ ํตํดJSON ๊ฐ์ ธ์ค๊ธฐ (2) (0) | 2022.07.04 |
URLSession์ ํตํดJSON ๊ฐ์ ธ์ค๊ธฐ (1) (0) | 2022.06.28 |
[SwiftUI] ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ (1/5) @State (0) | 2021.10.11 |