[UI/UX] Figma

Hannahhhยท2022๋…„ 8์›” 24์ผ
1

UI/UX

๋ชฉ๋ก ๋ณด๊ธฐ
7/7

๐Ÿ” Figma


๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” UI ๋””์ž์ธ & ํ”„๋กœํ† ํƒ€์ดํ•‘ ํˆด๋กœ, ์‹ค์‹œ๊ฐ„ ํ˜‘์—…, ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ ์ง€์›, ์ž๋™ ์ €์žฅ ๋ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ, ๋‹ค์–‘ํ•œ ๋ฌด๋ฃŒ ํฐํŠธ ์ง€์›, ์˜คํ†  ๋ ˆ์ด์•„์›ƒ ๊ธฐ๋Šฅ, ํ”„๋กœํ† ํƒ€์ดํ•‘ ๊ธฐ๋Šฅ์ด ํŠน์ง•์ด๋‹ค.


ํŠœํ† ๋ฆฌ์–ผ


  • Scroll ํšจ๊ณผ ์ฃผ๊ธฐ


    ํ•ด๋‹น ํŽ˜์ด์ง€ ํด๋ฆญ -> prototype ํƒญ -> Overflow scrolling

    ๋‹จ, scroll ํšจ๊ณผ๋ฅผ ์ฃผ๊ณ  ์‹ถ์ง€ ์•Š์€ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค๋ฉด
    ํ•ด๋‹น ์š”์†Œ ํด๋ฆญ -> Design ํƒญ -> Constraints: Fix position when scrolling ์ฒดํฌ



  • ํด๋ฆญํ–ˆ์„ ๋•Œ Page ์ „ํ™˜ ํšจ๊ณผ ์ฃผ๊ธฐ

    ํด๋ฆญ ํ–ˆ์„ ๋•Œ page๊ฐ€ ์ „ํ™˜๋˜๋Š” ์š”์†Œ ํด๋ฆญ -> Prototype ํƒญ -> ์š”์†Œ์— ์› ๋ชจ์–‘ ์ƒ์„ฑ๋จ -> ์ด๋™ํ•  page๋กœ ๋Œ์–ด์„œ ์—ฐ๊ฒฐ



  • Animation ํšจ๊ณผ ์ฃผ๊ธฐ

    Prototype ํƒญ -> Interactions: Animation์—์„œ ์„ ํƒ ์ ์šฉ ๊ฐ€๋Šฅ(Desolve, Move-in ๋“ฑ)



  • Frame์•ˆ์˜ ๋‹ค๋ฅธ ์š”์†Œ ๊ฐ€๋กœ ์Šคํฌ๋กค ์ ์šฉ

    ํ•ด๋‹น ์š”์†Œ ์„ ํƒ -> ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ ํด๋ฆญ: Frame selection ์„ ํƒํ•˜์—ฌ Frame ์”Œ์šฐ๊ธฐ -> ์ขŒ์ธก์—์„œ ์นด๋“œ๋“ค ๋ชจ๋‘ ์„ ํƒ -> Design ํƒญ Constraints: ์œ„, ์™ผ ๊ณ ์ •ํ•˜์—ฌ ์•ˆ์˜ ์žˆ๋Š” ์š”์†Œ๋“ค์„ ์›€์ง์ด์ง€ ์•Š๋„๋ก ๊ณ ์ •ํ•˜๊ธฐ -> frame ํฌ๊ธฐ ํ‚ค์›Œ์„œ overflow๋˜๋„๋ก ๋งŒ๋“ค๊ธฐ -> Prototype ํƒญ -> Overflow: Horizontal scrolling



  • scroll ์‹œ, ์—ฌ๋ฐฑ ์ถ”๊ฐ€

    frame์— ๋„ํ˜• ์ถ”๊ฐ€ -> ์ขŒ์ธก์—์„œ ํ•ด๋‹น๋„ํ˜•์„ frame์•ˆ์— ๋Œ์–ด์™€ ์ ์šฉํ•˜๊ธฐ -> ๋„ํ˜• ๋งˆ์šฐ์Šค ์˜ค๋ฅธ ํด๋ฆญ: send to back -> ๋ฐฐ๊ฒฝ์ƒ‰ ๋ณ€๊ฒฝ -> ์ ๋‹นํ•œ ์—ฌ๋ฐฑ ์„ค์ •(์นด๋“œ๋ฅผ ํ™”๋ฉด ์ค‘์•™์— ๋ฐฐ์น˜ ํ›„, ์–‘ ์˜† ์—ฌ๋ฐฑ์ด ์–ผ๋งˆ๋‚˜ ๋‚˜์˜ค๋Š” ์ง€ ํ™•์ธ(alt)ํ•œ ํ›„ ๊ทธ ๊ฐ’์„ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค.)



  • Header์™€ ๊ฐ™์€ ์š”์†Œ๋Š” componentํ™” ์‹œ์ผœ์„œ ๊ด€๋ฆฌ, ์ ์šฉํ•œ๋‹ค

    ์ตœ์ƒ๋‹จ-๊ฐ€์šด๋ฐ ์ฒซ ๋ฒˆ์งธ ๋ฒ„ํŠผ ํด๋ฆญํ•ด ํ•ด๋‹น ์š”์†Œ๋ฅผ componentํ™” ์‹œํ‚จ๋‹ค -> assets์—์„œ ํ™•์ธ ๋ฐ ์ ์šฉ ๊ฐ€๋Šฅ -> shift+alt ํ˜น์€ Assetsํƒญ์—์„œ dragํ•ด์™€ instance ์ƒ์„ฑ ๊ฐ€๋Šฅ

    ์—ฌ๋Ÿฌ instance๊ฐ€ ์žˆ์„ ๋•Œ, ํ•ด๋‹น component๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ชจ๋“  instance์— ์ ์šฉ๋˜์–ด ๋ณ€๊ฒฝ๋œ๋‹ค.



  • Page ์ „ํ™˜์ด ์•„๋‹Œ ์˜ค๋ฒ„๋ ˆ์ด interaction ์ ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ์—ฌ๋‹ซํž˜ ๊ตฌํ˜„

    ์š”์†Œ ์„ ํƒ -> Ptototype ํƒญ: interactions - open overley ์„ ํƒ ํ›„, ๋‹ค์Œ frame ์—ฐ๊ฒฐ -> ๋‹ค์Œ frame์—์„œ๋Š” ๊ฐ™์€ ์š”์†Œ์— close overlay ์ ์šฉ



  • ์บ๋Ÿฌ์…€ ์Šฌ๋ผ์ด๋“œ ์ ์šฉ

    ์ ์šฉํ•  ์ด๋ฏธ์ง€๋“ค์„ ๋ถ™์—ฌ์„œ frame์œผ๋กœ ๋ฌถ๊ธฐ -> ๊ฐ ์ด๋ฏธ์ง€๋“ค์ด ์›€์ง์ด์ง€ ์•Š๋„๋ก Constraints: ์œ„, ์™ผ ๊ณ ์ • -> frame ํฌ๊ธฐ ์กฐ์ •(Design ํƒญ์—์„œ clip content ์„ ํƒ ์‹œ, frame ์ƒ์—์„œ ์–ด๋–ค ์ด๋ฏธ์ง€๊ฐ€ ๋œจ๋Š” ์ง€ ํ™•์ธ ๊ฐ€๋Šฅ) -> ํ•˜๋‹จ Navigation bar ๋งŒ๋“ค๊ณ  componentํ™”-> shift+alt ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ component๋ฅผ dragํ•˜์—ฌ instance ์ƒ์„ฑ -> frame์„ ์›ํ•˜๋Š” ๋งŒํผ ๋ณต์ œ -> ๊ฐ ํ”„๋ ˆ์ž„์•ˆ์˜ instance ๋ณ€๊ฒฝ -> ๊ฐ ํ”„๋ ˆ์ž„์•ˆ์˜ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ(dragํ•˜์—ฌ ๋ณ€๊ฒฝ) -> ๋ชจ๋“  ํ”„๋ ˆ์ž„์„ ์„ ํƒ -> Component ์ƒ์„ฑ ๋ฒ„ํŠผ์˜ dropdown: create component set ์„ ํƒํ•˜์—ฌ ํ•˜๋‚˜์˜ component์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ƒํƒœ๊ฐ€ ์žˆ๋Š” component๋ฅผ ๋งŒ๋“ฌ -> ๊ฐ component ํด๋ฆญ ํ•˜์—ฌ prototype ํƒญ: interactions - After delay ์„ ํƒ ๋ฐ Change to - ๋ณ€๊ฒฝํ•  component ์„ ํƒ (component๊ฐ€ ์‹œ๊ฐ„์ด ํ๋ฅด๋ฉด ์ž๋™์œผ๋กœ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€Œ๋„๋ก ์ด๋ฒคํŠธ ์„ค์ •) -> shift+alt ๋ˆ„๋ฅธ ์ฑ„ dragํ•˜์—ฌ instance ์ƒ์„ฑ ํ›„, ์ ๋‹นํ•œ ์œ„์น˜์— ๋ฐฐ์น˜ํ•œ๋‹ค. -> component์˜ ๋ชจ๋“  ์ƒํƒœ๋ฅผ ์„ ํƒ -> prototype ํƒญ: interactions: delay ์‹œ๊ฐ„ ์กฐ์ • ๋ฐ Animation - smart animate ์„ ํƒ - ์ „ํ™˜ ์‹œ๊ฐ„ ์กฐ์ •(์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ ๋ฐ ๋”œ๋ ˆ์ด ์‹œ๊ฐ„ ์กฐ์ •) -> ์ˆ˜๋™์œผ๋กœ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ํ™”์‚ดํ‘œ ๋ฒ„ํŠผ ์š”์†Œ ํด๋ฆญ ํ›„ ๋ณ€๊ฒฝํ•  ์ƒํƒœ๋กœ ๊ฐ๊ฐ ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.



  • ์ด๋ฏธ ์žˆ๋Š” component์—์„œ ์ƒํƒœ ๋งŒ๋“ค๊ธฐ

    ํ•ด๋‹น component ํด๋ฆญ -> Design ํƒญ: properties - variant -> ํ”Œ๋Ÿฌ์Šค ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ์ƒํƒœ ์ƒ์„ฑ



๋“ฑ๋“ฑ... ๋‹ค์–‘ํ•˜๊ฒŒ ์‘์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ•„์š”ํ•  ๋•Œ ์ฐพ์•„์„œ ํ•ด์•ผ๊ฒ ๋‹ค.




์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ & ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ


๊ธฐ๋ณธ ๋‹จ์ถ•ํ‚ค

  • ๋ณต์‚ฌํ•˜๊ธฐ : Command + C

  • ๋ถ™์—ฌ๋„ฃ๊ธฐ : Command + V

  • ์ž˜๋ผ๋‚ด๊ธฐ : Command + X

  • ๋ณต์ œํ•˜๊ธฐ : Command + D ํ˜น์€ Option ๋ˆ„๋ฅธ ์ƒํƒœ๋กœ ๋“œ๋ž˜๊ทธ

  • ์—ฌ๋Ÿฌ ์š”์†Œ ๋™์‹œ์— ์„ ํƒํ•˜๊ธฐ : Shift ๋ˆ„๋ฅธ ์ƒํƒœ๋กœ ํด๋ฆญ

  • ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๊ธฐ : Command + G

  • ํ”„๋ ˆ์ž„์œผ๋กœ ๋ฌถ๊ธฐ : Command + Option + G

  • ๊ทธ๋ฃน, ํ”„๋ ˆ์ž„ ํ•ด์ œํ•˜๊ธฐ : Command + Shift + G

  • ๊ฐ„๊ฒฉ ์ธก์ •ํ•˜๊ธฐ : ์š”์†Œ๋ฅผ ์„ ํƒํ•œ ์ƒํƒœ์—์„œ Option ๋ˆ„๋ฅด๊ณ  ๋‹ค๋ฅธ ์š”์†Œ์— ๋งˆ์šฐ์Šค ์˜ฌ๋ ค๋†“๊ธฐ


์˜คํ†  ๋ ˆ์ด์•„์›ƒ

์˜คํ†  ๋ ˆ์ด์•„์›ƒ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • ์˜คํ†  ๋ ˆ์ด์•„์›ƒ ์ ์šฉํ•  ์š”์†Œ ์„ ํƒ โ†’ Shift + A

  • ์˜คํ†  ๋ ˆ์ด์•„์›ƒ ์ ์šฉํ•  ์š”์†Œ ์„ ํƒ โ†’ Design ํƒญ Auto layout ์—์„œ + ๋ฒ„ํŠผ ์„ ํƒ

์˜คํ†  ๋ ˆ์ด์•„์›ƒ ์ œ๊ฑฐํ•˜๊ธฐ

  • ์˜คํ†  ๋ ˆ์ด์•„์›ƒ ์ œ๊ฑฐํ•˜๊ธฐ : Shift + Option + A

์ปดํฌ๋„ŒํŠธ

  • ๋‹จ์ผ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ : ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค ์š”์†Œ ์„ ํƒ โ†’ Command + Option + K ํ˜น์€ ์ƒ๋‹จ Create component ๋ฒ„ํŠผ ํด๋ฆญ

  • ์ปดํฌ๋„ŒํŠธ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑ : ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค ์š”์†Œ ๋ชจ๋‘ ์„ ํƒ โ†’ Create component ๋ฒ„ํŠผ ์˜† ๋“œ๋กญ๋‹ค์šด ํด๋ฆญ โ†’ Create multiple component ์„ ํƒ

  • ์ƒํƒœ๋ฅผ ๊ฐ€์ง„ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ : ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๋กœ ๋งŒ๋“ค ์š”์†Œ ๋ชจ๋‘ ์„ ํƒ โ†’ Create component ๋ฒ„ํŠผ ์˜† ๋“œ๋กญ๋‹ค์šด ํด๋ฆญ โ†’ Create component set ์„ ํƒ

  • ์ปดํฌ๋„ŒํŠธ์— ์ƒํƒœ ์ถ”๊ฐ€ํ•˜๊ธฐ : ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•  ์ปดํฌ๋„ŒํŠธ ์„ ํƒ โ†’ ํ™”๋ฉด ์šฐ์ธก Design ํƒญ Properties ์—์„œ + ๋ฒ„ํŠผ ํด๋ฆญ โ†’ Variant ์„ ํƒ โ†’ ์ปดํฌ๋„ŒํŠธ ํ•˜๋‹จ์— ์ƒ๊ธด ๋ณด๋ผ์ƒ‰ + ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ ์ƒํƒœ ์ถ”๊ฐ€

์ปดํฌ๋„ŒํŠธ์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

  • ์ปดํฌ๋„ŒํŠธ ๋ณต์ œํ•˜๊ธฐ (Command + D ํ˜น์€ Option ๋ˆ„๋ฅธ ์ƒํƒœ๋กœ ๋“œ๋ž˜๊ทธ)

  • ํ™”๋ฉด ์ขŒ์ธก Assets ํƒญ์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ํ™”๋ฉด์— ๋Œ์–ด๋‹ค๋†“๊ธฐ



Figma ํ™”๋ฉด์—์„œ Control + Shift + ? ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋‹จ์ถ•ํ‚ค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.




Reference: ์ฝ”๋“œ์Šคํ…Œ์ด์ธ 

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด