๋ฌธ์ ์ํฉ
- ๋์์ด๋๊ฐ ์ ๊ณตํ Figma ์์ ๊ธฐ์ค์ผ๋ก ์ฌ๋ผ์ด๋ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌํํ๋ ค๊ณ
react-native-community/slider๋ฅผ ์ฌ์ฉํ์ผ๋, Thumb(์กฐ์ ํธ๋ค)๊ณผ ํธ๋ ์ ํฌ์ธํธ์ ์์น๊ฐ Figma์ ์ ํํ ์ผ์นํ์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ต์
์ ์กฐ์ ํด๋ ๋ฏธ์ธํ ์ ๋ ฌ ์ค์ฐจ๋ฅผ ํด์ํ๊ธฐ ์ด๋ ค์, ํฝ์
๋จ์ ์ ๋ฐ ๋งค์นญ์ด ํ์ํ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ์ง ๋ชปํจ.
ํ๊ฒฝ
- ํ๋ก์ ํธ: ๋ชจ๋ฐ์ผ UI ์ปดํฌ๋ํธ ๊ตฌํ
- ์คํ: React Native, TypeScript
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋:
react-native-community/slider
์ฆ์/๋ก๊ทธ
์๊ฐ์ ์ ๋ ฌ ๋ฌธ์ : Thumb ์ค์ฌ๊ณผ ํธ๋ ์์ ๊ธฐ์ค ์ (๋ง์ปค) ์์น๊ฐ Figma์ 1~์ px ๋จ์๋ก ๋ถ์ผ์น.
๊ฐ๋ฐ/๋น๋ ์๋ฌ ๋ก๊ทธ๋ ์๊ณ , ๋ ๋๋ง ๊ฒฐ๊ณผ์ ์๊ฐ์ ์ค์ฐจ๊ฐ ํต์ฌ ์ด์.
์์ธ ๋ถ์
- ๋ฒ์ฉ ์ฌ๋ผ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ด๋ถ ๋ ์ด์์, ์ต์ ํฐ์น ์์ญ(hitSlop), ํธ๋ ๋์ด/ํจ๋ฉ ์ฒ๋ฆฌ ๋ฑ์ผ๋ก ์ธํด Thumb ์ค์ฌ ์ขํ ๊ณ์ฐ์ด ๋์์ธ ๋ช
์ธ์ 1:1 ๋งค์นญ๋๊ธฐ ์ด๋ ค์.
- ์์
์ ์๊ฐ์ ์ค์ฌ(visual center)๊ณผ ์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ค์ฌ ๋ถ์ผ์น๋ก, ๋์ผ ์ขํ์์๋ ์ฌ์ฉ์ ๋์๋ ์ด๊ธ๋ ๋ณด์ด๋ ํ์์ด ๋ฐ์.
ํด๊ฒฐ ๋ฐฉ๋ฒ
- Figma ๊ธฐ์ค ์ ๋ฐ ์น์ ํ์
- ํธ๋ ๋์ด, ์ฌ์ฉ ๊ฐ๋ฅ ํญ, Thumb ์ค์ธก ์ง๋ฆ ๋ฐ ๊ธฐ์ค์ , ํธ๋ ํฌ์ธํธ(๋ง์ปค) ์ขํ๋ฅผ px ๋จ์๋ก ๋ช
ํํ ๊ณ์ธก.
- ํ์ํ ์์
(Thumb/ํธ๋/๋ง์ปค)์ ํด์๋๋ณ(1x/2x/3x)๋ก ์ฌ์์ถํ๋ฉฐ ์ฌ๋ฐฑ์ ํต์ผ.
- ๊ฐ-ํฝ์
๋งคํ ๊ณต์ ๊ณ ์
- ์ ํจ ํธ๋ ๊ธธ์ด(
usableWidth)์์ ์ข์ฐ ์คํ์
(ํจ๋ฉ)์ ์ ์ธํ๊ณ , ( position = ((value - min) / (max - min)) * usableWidth + offset )์ผ๋ก Thumb ์ขํ๋ฅผ ๊ฒฐ์ .
- step์ด ์๋ ๊ฒฝ์ฐ, ๋๋๊ทธ ๊ฐ์ step ๋จ์๋ก ์ค๋
(snap) ์ฒ๋ฆฌ ํ ์ขํ ๋ณํ.
- ์ ์ค์ฒ ์ฒ๋ฆฌ ์ง์ ๊ตฌํ
- Pan ์ ์ค์ฒ๋ก ๋๋๊ทธ ์ด๋ โ ๊ฐ ํ์ฐ โ ์ขํ ๊ฐฑ์ ์ ๊ตฌํํ๊ณ , ๋ฒ์ ๋ฐ ์ด๋์ ํด๋จํ(clamp).
- ์๊ฐ ์ค์ฌ ๋ณด์ (visual centering)
- Thumb/๋ง์ปค ์ด๋ฏธ์ง์ ์๊ฐ ์ค์ฌ์ด ์ํ์ ์ค์ฌ๊ณผ ๋ค๋ฅผ ๊ฒฝ์ฐ, ๋ณด์ ์คํ์
์ ๋ณ๋๋ก ๋์ด 1:1๋ก ๋ง์ถค.
- ์ ๊ทผ์ฑ/์ฌ์ฉ์ฑ ๋ฐ์
- ํฐ์น ์์ญ ํ์ฅ(hitSlop), ํฌ์ปค์ค ๊ฐ๋ฅ, ์ ๊ทผ์ฑ ๋ ์ด๋ธ/๊ฐ ์ฝ๊ธฐ ๋ฑ UX ์์๋ฅผ ์ปค๋ฒ.
๊ฒ์ฆ
- Figma ์คํฌ๋ฆฐ์ท์ ๋ฐํฌ๋ช
์ค๋ฒ๋ ์ดํ์ฌ ํฝ์
๋จ์๋ก ์ค์ฐจ๋ฅผ ํ์ธํ๊ณ , ์ฃผ์ ๊ตฌ๊ฐ(์ต์/์ค๊ฐ/์ต๋ ๊ฐ, ๋ง์ปค ์ง์ )์์ ์ฌ๊ฒ์ฆ.
- ๋ค์ํ ํด์๋/๋ฐ๋์์ ์ค๋
๋ฐ ํธ๋/Thumb ์ ๋ ฌ์ด ๋์ผํ๊ฒ ์ ์ง๋๋์ง ์ ๊ฒ.
๋ฐฐ์ด ์
- ํน์ UI์์ "์ ํํ ํฝ์
๋งค์นญ"์ด ํต์ฌ ์๊ตฌ์ผ ๊ฒฝ์ฐ, ๋ฒ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋๋ณด๋ค ์ปค์คํ
๊ตฌํ์ด ๋ ๋น ๋ฅด๊ณ ํ์คํ ์ ์์.
- ๊ฐ-ํฝ์
๋ณํ์ ๋ช
ํํ ์ ์ํ๊ณ , ์์
์ ์๊ฐ ์ค์ฌ์ ๋ณด์ ํ๋ฉด ๋ฏธ์ธํ ์ ๋ ฌ ์ด์๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ์ ๊ฑฐํ ์ ์์.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ์ ์ค์ด๋ฉด ์ฅ๊ธฐ์ ์ผ๋ก ์ ์ง๋ณด์์ฑ๊ณผ ์ปค์คํฐ๋ง์ด์ง ์์ ๋๊ฐ ๋์์ง.