H.I.G (Human Interface Guidelines)
The HIG contains guidance and best practices that can help you design a great experience for any Apple platform.
HIG๋ ๋ชจ๋ ์ ํ ํ๋ซํผ์ ์ํ ํ๋ฅญํ ๊ฒฝํ์ ์ค๊ณํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋ ์ง์นจ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๊ฐ ํฌํจํฉ๋๋ค.
HIG ๋ฌธ์๋ฅผ ํ์ธํด์ผ ํ๋ ์ด์ ?
Apple์ ํ๋ซํผ์ ๋ง๋ UI/UX๋ฅผ ์ ์ ์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด!
HIG๋ฅผ ๋๋ฌด ์ฌํ๊ฒ ์๋ฐฐํ ์ฑ์ ๊ฒฝ์ฐ ์ฌ์ฌ์์ ๋ฆฌ์ ๋นํ ์ ์์
์์ดํฐ ๊ธฐ๋ณธ ์ฑ ์๊ณ UI/UX ๋ถ์
ํ๋ฉด 1 - ์๋ ๋ชฉ๋ก
Navigation bars (Components > Navigation and search > Navigation bars)
๋ด๋น๊ฒ์ด์ ๋ฐ๋ ์ฐฝ์ด๋ ํ๋ฉด ์๋จ์ ํ์๋์ด ์ฌ๋๋ค์ด ์ฝํ ์ธ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
๋ด๋น๊ฒ์ด์ ๋ฐ๋ ์ฌ๋๋ค์ด ์ฑ์ด๋ ๊ฒ์์์ ๋ฐฉํฅ์ ์ก๋ ๋ฐ ๋์์ด ๋๋ ์ ๋ชฉ์ ํ์ํ ์ ์๋ ์์ฐ์ค๋ฌ์ด ์ฅ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ์๋ ์ฝํ ์ธ ์ ์ํฅ์ ๋ฏธ์น๋ ์ปจํธ๋กค์ ํฌํจํ ์๋ ์์ต๋๋ค.
์ฑ์ ์ฌ์ฉํ ์ด์ : ์๊ณ ์ฑ์์๋ ํธ์ง, ์๋ ์ถ๊ฐ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด navigation bar๋ฅผ ์ฌ์ฉ
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ๋ด๋น๊ฒ์ด์ ๋ฐ๋ ์ฌ์ฉ์์๊ฒ ์ฑ์ ์ ๋ชฉ ๋๋ ํ๋ฉด์ ํ์ฌ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํ๊ณ , ์๋ ์ปจํ ์ธ ์ ๋ํ ์ปจํธ๋กค(CRUD)๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
- ์งง์ ์ ๋ชฉ, ์คํฌ๋กค์ Hidden, ํ์ค ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ, ์ถฉ๋ถํ ์ฌ๋ฐฑ ๋ฑ์ ์งํค๋๊ฒ ์ข์ต๋๋ค.
- ๋ด๋น๊ฒ์ด์ ์ ์ฌ์ฉํ ๋ ์ฐ์์ ์ธ ๊ธฐ๋ฅ์ ๋ฃ๋๋ค๋ฉด ์ ๋ชฉ์ ์๋ตํ๋๊ฒ์ด ์ผ๊ด์ฑ์ด ์ ์ง ๋ฉ๋๋ค.
Tab bars(Components > Navigation and search > Tab bars)
ํญ ํ์์ค์ ํ์์ค ํญ๋ชฉ์ ์ฌ์ฉํ์ฌ ๋์ผํ ๋ณด๊ธฐ์์ ์ํธ ๋ฐฐํ์ ์ธ ์ฝํ ์ธ ์ฐฝ ์ฌ์ด๋ฅผ ํ์ํฉ๋๋ค.
์ฑ์ ์ฌ์ฉํ ์ด์ : ์ธ๊ณ ์๊ณ, ์๋, ์คํฑ์์น, ํ์ด๋จธ ๋ผ๋ ๋ ๋ฆฝ๋ ์ฝํ ์ธ ์ฐฝ์ ์ ๊ณตํ๊ธฐ ์ํด tab bar ์ฌ์ฉ
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ์ฌ๋๋ค์ด ์ฑ์ ๋ค๋ฅธ ์์ญ์ผ๋ก ์ด๋ํ ๋(ํ๋ฉด์ ํ) ํญ ํ์์ค์ด ๋ณด์ด๋์ง ํ์ธํ์ธ์.
- ์ฌ๋๋ค์ด ์ฑ์ ํ์ํ๋ ๋ฐ ํ์ํ ์ต์ ํญ ์๋ฅผ ์ฌ์ฉํ์ธ์.
- ์ฝํ
์ธ ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ํญ์ ํ์ํ์ธ์.
- ์๋ฅผ ๋ค์ด, iOS ์ฅ์น์ ์์ ์ด ์๋๋ผ๋ ์์ ์ฑ์ ์ง๊ธ ๋ฃ๊ธฐ ํญ์ ๊ณ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์์ ๋ค์ด๋ก๋์ ๋ํ ์ ์์ ์ ๊ณตํฉ๋๋ค. -> ์ปจํ ์ธ ๊ฐ ์๋๋ผ๋ ํญ ์์ฒด๋ฅผ ์ญ์ ํ๋ ๊ฒ์ด ์๋๋ผ ํญ ๋ด์ ์ปจํ ์ธ ์์์ ํ์ or ๋ค๋ฅธ ์ ์ ์ ๊ณต
- ๊ฐ ํญ ์ ๋ชฉ์ ๊ฐ๊ฒฐํ ์ฉ์ด๋ฅผ ์ฌ์ฉํ์ธ์.
- ๋์ ๋์ง ์๊ฒ ์ํตํ๋ ค๋ฉด ๋ฐฐ์ง(ํฐ์ ํ
์คํธ์ ์ซ์ ๋๋ ๋๋ํ๊ฐ ํฌํจ๋ ๋นจ๊ฐ์ ํ์)๋ฅผ ์ฌ์ฉํ์ธ์.
- ํญ๋ฐ์์ ํ์ธํ์ง ์์ ์๋ ๊ฐ์ ๋ฑ์ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ์ ์์(ํญ๋ฐ ์์ด์ฝ ์ค๋ฅธ์ชฝ ์๋จ์ ํ์)
TableView (Components > Layout and organization > Lists and tables)
๋ชฉ๋ก๊ณผ ํ ์ด๋ธ์ ํ๋ ์ด์์ ํ ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ ์ด๋ธ์ด๋ ๋ชฉ๋ก์ ๊ทธ๋ฃน์ด๋ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ผ ์ ์์ผ๋ฉฐ, ์ ํ, ์ถ๊ฐ, ์ญ์ ๋ฐ ์ฌ์ ๋ ฌ๊ณผ ๊ฐ์ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ง์ํ ์ ์์ต๋๋ค.
์ฑ์์ ์ฌ์ฉํ ์ด์ : ์ฌ๋ฌ๊ฐ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ์ธํ๋ฉด์์ ์ ๊ณตํ๋๋ฐ ์ ํฉ
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ๋ชฉ๋ก์ด๋ ํ์ ํ ์คํธ๋ฅผ ํ์ํ๋ ๊ฒ์ ์ ํธํ๋ค.
- ๋ง์ด ๋ ๋ ์ฌ๋๋ค์ด ํ ์ด๋ธ์ ํธ์งํ๊ฒ ํ์ธ์.
- ์ฌ๋๋ค์ด ๋ชฉ๋ก ํญ๋ชฉ์ ์ ํํ ๋ ์ ์ ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ธ์.
Toggles(= ํ ๊ธ ์ค์์น) (Components > selection and input > Toggles)
ํ ๊ธ์ ์ฌ์ฉํ๋ฉด ์ฌ๋๋ค์ ๊ฐ ์ํ๋ฅผ ๋ํ๋ด๋ ๋ค๋ฅธ ๋ชจ์์ ์ฌ์ฉํ์ฌ ์ผ์ง ๋ฐ ๊บผ์ง๊ณผ ๊ฐ์ ํ ์์ ๋ฐ๋ ์ํ ์ค์์ ์ ํํ ์ ์์ต๋๋ค.
ํ ๊ธ์ ์ค์์น์ ์ฒดํฌ๋ฐ์ค์ ๊ฐ์ ๋ค์ํ ์คํ์ผ์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ํ๋ซํผ์ ์ด๋ฌํ ์คํ์ผ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฑ์์ ์ฌ์ฉํ ์ด์ : ์ฌ์ฉ์๊ฐ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์๋์ ํ์ฑํ or ๋นํ์ฑํ ๊ฐ๋ฅ
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ํ ๊ธ์ ์ฌ์ฉํ์ฌ ์ฌ๋๋ค์ด ์ฝํ ์ธ ์ ์ํ๋ ๊ฒฌํด์ ์ํฅ์ ๋ฏธ์น๋ ๋ ๊ฐ์ง ๋ฐ๋๋๋ ๊ฐ์น ์ค์์ ์ ํํ ์ ์๋๋ก ๋์์ฃผ์ธ์
- ํ ๊ธ์ด ์ํฅ์ ๋ฏธ์น๋ ์ค์ , ๋ณด๊ธฐ ๋๋ ์ฝํ ์ธ ๋ฅผ ๋ช ํํ๊ฒ ์๋ณํ์ธ์.
- ํ ๊ธ ์ํ์ ์๊ฐ์ ์ฐจ์ด๊ฐ ๋ถ๋ช ํ์ง ํ์ธํ์ธ์. ์์์ด๋ ๋ฐฐ๊ฒฝ ๋ฑ ์๋ณํ ์ ์๋ ์ ๋ณด๋ค์ ํ์ฉํ์ฌ ์ฌ๋๋ค์ด ์ฐจ์ด๋ฅผ ์ธ์ํ ์ ์๋๋ก ํฉ๋๋ค.
ํ๋ฉด ์ ํ
+๋ฒํผ ํด๋ฆญ -> modal ๋ฐฉ์ ํ๋ฉด์ ํ (Patterns > Modality ์ฐธ๊ณ )
๋ชจ๋ฌ๋ฆฌํฐ(modality)๋ ๋ถ๋ชจ ๋ทฐ์์ ์ํธ ์์ฉ์ ๋ฐฉ์งํ๊ณ ๊ฑฐ๋ถํ๊ธฐ ์ํ ๋ช ์์ ์ธ ์กฐ์น๋ฅผ ์๊ตฌํ๋ ๋ณ๋์ ์ ์ฉ ๋ชจ๋๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ํ๋ ์ค๊ณ ๊ธฐ๋ฒ์ ๋๋ค.
๊ธฐ์กด์ ํ๋ก์ฐ ํน์ ์์ ๋ทฐ์ ์ฐ๊ด๋์ง ์๋ ๋ ๋ฆฝ๋ ์์ ์ ํ๋ ๊ฒฝ์ฐ modal ๋ฐฉ์์ ํ๋ฉด์ ํ ์ฌ์ฉ
์๊ณ์ฑ์ ์๋ ํญ์ ๊ฒฝ์ฐ + ๋ฒํผ์ ๋๋ฌ ์๋ก์ด ์๋์ ์ถ๊ฐํ๋ ์์ ์์ ๋ชจ๋ฌ ๋ฐฉ์์ ์ฌ์ฉํจ. ๋ฉ์ธ ํ๋ฉด๊ณผ ๋ ๋ฆฝ๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ modal ๋ฐฉ์ ์ฌ์ฉ
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ๋ช
ํํ ์ด์ ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ฝํ
์ธ ๋ฅผ ๋ชจ๋ฌ ๋ฐฉ์์ผ๋ก ํ์ํ์ธ์.
- ์ฌ๋๋ค์ด ์ง์คํ๊ฑฐ๋ ์ฝํ ์ธ ๋ ์ฅ์น์ ์ํฅ์ ๋ฏธ์น๋ ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ ๋๋ง ๋ชจ๋ฌ ์ฌ์ฉ
- ๋ชจ๋ฌ ์์ ์ ๋จ์ํ๊ณ , ์งง๊ณ , ๋ฅ๋ฅ ์ ์ผ๋ก ์ ์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ธ์.
- ์ฑ ๋ด์์ ์ฑ์ฒ๋ผ ๋๊ปด์ง๋ ๋ชจ๋ฌ ๊ฒฝํ์ ๋ง๋ค์ง ์๋๋ก ์ฃผ์ํ์ธ์.(๋ชจ๋ฌ์์ ๋ ํ๋ก์ฐ๋ฅผ ๋ง๋ค์ง ์๋๋ก ์ฃผ์)
- ๋ชจ๋ฌ ์์ ์ ํ์ ๋ทฐ๊ฐ ํฌํจ๋์ด์ผ ํ๋ ๊ฒฝ์ฐ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํตํด ๋จ์ผ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๊ณ ์ฌ๋๋ค์ด ๋ชจ๋ฌ ๋ทฐ๋ฅผ ๋ซ๋ ๋ฒํผ์ผ๋ก ์ฐฉ๊ฐํ ์ ์๋ ๋ฒํผ์ ํฌํจํ์ง ๋ง์ธ์
- ์ฌ์ธต์ ์ธ ์ฝํ ์ธ ๋ ๋ณต์กํ ์์ ์๋ ์ ์ฒด ํ๋ฉด ๋ชจ๋ฌ ์คํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ํญ์ ์ฌ๋๋ค์๊ฒ ๋ชจ๋ฌ ๋ทฐ๋ฅผ ๋ฌด์ํ ์ ์๋ ๋ช ํํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ญ์์ค.
- ํ์ํ ๊ฒฝ์ฐ ๋ชจ๋ฌ ๋ณด๊ธฐ๋ฅผ ๋ซ๊ธฐ ์ ์ ํ์ธ์ ๋ฐ์ ๋ฐ์ดํฐ ์์ค์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
- ๋ชจ๋ฌ ๋ทฐ์ ์์ ์ ์ฝ๊ฒ ์๋ณํ ์ ์๋๋ก ํฉ๋๋ค.
- ๋ค๋ฅธ ๋ชจ๋ฌ ๋ทฐ ์์ ๋ชจ๋ฌ ๋ทฐ๋ฅผ ํ์ํ์ง ๋ง์ธ์.
ํ๋ฉด 2 - ์๋ ์ถ๊ฐ
Number pad (selection and input > virtual keyboards)
iOS, iPadOS, tvOS ๋ฐ VisionOS์์ ์์คํ ์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ์
์ฌ์ฉํ ์ ์๋ ๋ค์ํ ์ ํ์ ๊ฐ์ ํค๋ณด๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฑ์ ๋ฐ์ดํฐ ์ ๋ ฅ ์์ ์ ํฅ์์ํค๊ณ ์ฌ์ฉ์ ์ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ค๋ ๊ฒฝ์ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ฑ์ ์ฌ์ฉํ ์ด์ : ์ฌ์ฉ์๊ฐ ์ ๋ ฅ ์์ ์ ํฅ์ ์ํค๊ธฐ ์ํด์ ์ ๊ณตํจ.
์ดํ ์ ๋ฐ์ดํธ ๋ฒ์ ์์๋ ํผ์ปค๋ง ์ฌ์ฉ (picker๋ก ์ฌ์ฉ์์ ์ ๋ณด ์ ๋ ฅ์ด ์ถฉ๋ถํ๊ธฐ ๋๋ฌธ์)
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ํน์๋ฌธ์์ ์ฌ์ฉ ์ฌ๋ถ์ ๋ฐ๋ผ ํค๋ณด๋ ์ข ๋ฅ๊ฐ ๋ณ๊ฒฝ๋์ด์ผํ๋ค.
Picker (selection and input > pickers)
picker๋ ์ฌ์ฉ์๊ฐ ์ ํํ ์ ์๋ ์ผ์ด์ค๋ฅผ ์คํฌ๋กค ๊ฐ๋ฅํ ๋ชฉ๋ก์ผ๋ก ํ๋ ์ด์ ํ์ํ๊ณ
์ ํ์ ์ฌ์ฉ์๊ฐ ๋จ์ผ ๋๋ ๋ค์ค ๊ฐ์ ์ ํํ ์ ์๋๋ก ํ์ฌ ์ ๋ณด ์ ๋ ฅ์ ๋์์ ์ค๋๋ค.
์ฑ์ ์ฌ์ฉํ ์ด์ : ์ฌ์ฉ์์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ ํ๊ฐ(์ผ์ ๋ฒ์ ๋ด์ ์ ๋ ฅ) ์ ์ฃผ์ด ์ ๋ณด ์ ๋ ฅ์ ๋์์ ์ฃผ๊ธฐ ์ํด์
์ฌ์ฉ์ ๊ณ ๋ คํ ์
- ์ค๊ฐ์์ ๊ธด ํญ๋ชฉ ๋ชฉ๋ก์ ์ ๊ณตํ ๋ ํผ์ปค๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค
- ๊ท์น์ด ์๋ ์ ๋ ฌ๋ ๊ฐ์ ์ฌ์ฉํด์ผํฉ๋๋ค.
- ํผ์ปค๋ฅผ ์ํด ๋ทฐ์ ํ์ ํ๋ฉด ์๋ฉ๋๋ค.
- ์๊ฐ์ ํ์ํ ๋ ๋ถ์ ๊ฒฝ์ฐ 1๋ถ ๋จ์๊ฐ์ด ๋ ์ ์ ์ธ๋ถ์ฑ์ ์ ๊ณตํด์ผํฉ๋๋ค.
Tuist๋ฅผ ์ด์ฉํ ๋ชจ๋ํ
Tuist๋ฅผ ์ด์ฉํด ํ ์คํธ ์ฑ ๋ชจ๋ํ ์ฑ๊ณต!
์ด์ ์ ๋ชจ๋ํ๋ฅผ ํด๋ณด๋ค๊ฐ generate์์ ์๋ฌ๊ฐ ๋๋ ๋ฐ๋์ ๊ผฌ์ฌ์ ์ฒ์๋ถํฐ ๋ค์ ํด์ ์ฑ๊ณตํ๋๋ฐ,,
์๋ง ์ด์ ์ Projects.swift์์ ์์กด์ฑ ์ค์ ์ ์๋ชปํด์ ์ ์๋ ๊ฒ ๊ฐ๋ค….
Swift ํ์ผ์์ ์ค์ ํด์ค ๊ฒ๋ค์ด Build Settings์ ๋ฐ์๋๋ ๊ฒ์ ์ค์ ๋ก ๋ณด๋ ์ ๊ธฐํ์!!!
Swift ํ์ผ๋ก ํ๋ก์ ํธ ์ค์ ๋ฐ ๊ด๋ฆฌ๋ฅผ ํด์ค ์ ์๋ค๋ ์ ์ด ํ์คํ ์ฅ์ ์ธ ๊ฒ ๊ฐ๋ค.
(์ธํ ์์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ tuist edit์ผ๋ก ๋ค์ ์ด์ด์ Swift ํ์ผ์ ์์ ํด์ฃผ๋ฉด ๋๋๊น!)
์ค๋ ์๊ฒ ๋ ์ :
Manifests ํ์์ Workspace.swift ํ์ผ ์์ฑํด์ .xcworkspace ํ์ผ ์์ฑ ๊ฐ๋ฅ
generate ํ tuist graph ๋ช ๋ น์ด๋ก ์์กด์ฑ ๊ทธ๋ํ ์์ฑ ๊ฐ๋ฅ (์ ๊ธฐํจ..)
์ํคํ ์ฒ ๊ตฌ์กฐ ํ์ ์ ์ ์ฉํ ๋ฏ! ๋ด์ผ์ ์ธ๋ถ ์ข ์์ฑ ์ถ๊ฐ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค!
์์น ์์ ๋๋๊ณ ์ง์ ์์ ์ถ๊ฐ๋ก ์๋ก์ด ๊ฒ์ ๊ณต๋ถํ๊ธฐ + ์ฝํ ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฑ ๋ถ์กฑํ ๊ณต๋ถ๋ ์ถ๊ฐ๋ก ํ๋ ค๊ณ ๋งค์ผ ๋ ธ๋ ฅ์ ํ๊ณ ์๋๋ฐ
์ฑ ์ ์์ ์๊ธฐ๊น์ง๊ฐ ์ ๋ฒ ํ๋๋ค์..
'๐ ๊ธฐ๋ก > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 20231206 (0) | 2023.12.08 |
---|---|
[TIL] 20231205 (2) | 2023.12.05 |
[TIL] 20231130 (2) | 2023.11.30 |
[TIL] 20231129 (1) | 2023.11.29 |
[TIL] 20231128 (3) | 2023.11.29 |