Bibi's DevLog ๐Ÿค“๐ŸŽ

[HIG] Foundations - Materials ๋ณธ๋ฌธ

๐Ÿ“ฑ๐ŸŽ iOS/๐Ÿ‘ค HIG

[HIG] Foundations - Materials

๋น„๋น„ bibi 2022. 9. 26. 21:33

https://developer.apple.com/design/human-interface-guidelines/foundations/materials

 

Materials - Foundations - Human Interface Guidelines - Design - Apple Developer

Materials On Apple platforms, a material imparts translucency and blurring to a background, creating a sense of visual separation between foreground and background layers. Materials can combine with vibrancy to add visual interest to the interface. Vibranc

developer.apple.com

์ฐธ๊ณ  - UIVisualEffect : https://zeddios.tistory.com/1140  

 

iOS ) UIVisualEffect (Blur, Vibrancy)

์•ˆ๋…•ํ•˜์„ธ์š” :) Zedd์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ UIVisualEffect์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! UIVisualEffect UIVisualEffect๋Š” ์‹œ๊ฐ ํšจ๊ณผ๋‚˜ ํ๋ฆผ(blur), ์ƒ๋™๊ฐ?(vibrancy) ํšจ๊ณผ๋ฅผ ์œ„ํ•œ "์ด๋‹ˆ์…œ๋ผ์ด์ €"์ž…๋‹ˆ๋‹ค. UIVisualEffect..

zeddios.tistory.com

 

์• ํ”Œ ํ”Œ๋žซํผ์—์„œ, material์€ ๋ฐฐ๊ฒฝ์— ๋ฐ˜ํˆฌ๋ช…์„ฑ๊ณผ ํ๋ ค์ง ํšจ๊ณผ๋ฅผ ์ฃผ๋ฉฐ, ์ „๊ฒฝ๊ณผ ๋ฐฐ๊ฒฝ ๋ ˆ์ด์–ด ์‚ฌ์ด์— ์‹œ๊ฐ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋œ ๊ฐ๊ฐ์„ ์ค๋‹ˆ๋‹ค.

material์€ vibrancy(์ƒ๋™๊ฐ)๊ณผ ๊ฒฐํ•ฉ๋˜์–ด ์ธํ„ฐํŽ˜์ด์Šค์— ์‹œ๊ฐ์ ์ธ ๊ด€์‹ฌ์„ ๋”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Vibrancy ๋Š” material์˜ ์ตœ์ƒ์œ„์— ํ‘œ์‹œ๋œ ์ „๊ฒฝ ๋‚ด์šฉ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด ํ…์ŠคํŠธ, ๊ธฐํ˜ธ, ์ฑ„์šฐ๊ธฐ ํšจ๊ณผ์™€ ๊ฐ™์€). ๊ทธ๋ฆฌ๊ณ  ๋’ค์— ๊น”๋ฆฐ material๋กœ๋ถ€ํ„ฐ ์ƒ‰๊น”์„ ์•ž์œผ๋กœ ๋Œ์–ด์˜ค๋Š” ์‹์œผ๋กœ ์ž‘๋™ํ•จ์œผ๋กœ์จ ๊นŠ์ด๊ฐ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋…ธํŠธ
vibrancy๋Š” ๋ชจ๋“  ์•ฑ๊ณผ ๊ฒŒ์ž„์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์‹ฌ์ง€์–ด ์–ด๋–ค vibrant๋„ ํ‘œ์‹œํ•˜์ง€ ์•Š๋Š” ๋ทฐ์— ๋Œ€ํ•ด์„œ๋„ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค). ์ด๋Š” ์–ด๋–ค ๊ตฌ์„ฑ์š”์†Œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ vibrantํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด macOS์˜ menu๋‚˜ iOS์˜ label์ด ๊ทธ๋Ÿฌํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฒ” ์‚ฌ๋ก€

์‹œ์Šคํ…œ์€ ๋ช‡๋ช‡ material์„ ์ •์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ํŠน์ • ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ์˜๋„๋˜์–ด์กŒ์œผ๋ฉฐ, ๋ผ์ดํŠธ ๋ชจ๋“œ์™€ ๋‹คํฌ ๋ชจ๋“œ์— ๋ชจ๋‘ ์ž๋™์ ์œผ๋กœ ์ ์‘๋ฉ๋‹ˆ๋‹ค. ์ด์— ๋”ํ•ด ์‹œ์Šคํ…œ์€ ๋‹น์‹ ์ด UI ๊ตฌ์„ฑ์š”์†Œ์— ์ ์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡๋ช‡ ํ๋ฆผ ์ฒ˜๋ฆฌ์™€ vibrancy ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•ด, material๊ณผ ์ž˜ ํ†ตํ•ฉ๋˜๊ณ  ๋‹น์‹ ์ด ์›ํ•˜๋Š” ๊ฐ•์กฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ง€์ • material๊ณผ ํšจ๊ณผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹น์‹ ์˜ ์•ฑ ๋˜๋Š” ๊ฒŒ์ž„์— ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Š๋‚Œ์„ ์ฃผ๊ณ , ์‚ฌ๋žŒ๋“ค์ด ์•ฑ ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•  ๋•Œ ๋ถ€๋“œ๋Ÿฌ์šด ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜๋ฏธ๋ก ์  ์˜๋ฏธ์™€ ์ถ”์ฒœ๋˜๋Š” ์‚ฌ์šฉ๋ฒ•์— ๊ธฐ๋ฐ˜ํ•ด ์‹œ์Šคํ…œ material๊ณผ ํšจ๊ณผ๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.

๋‹น์‹ ์˜ ์ธํ„ฐํŽ˜์ด์Šค์— ์ „๋‹ฌํ•˜๋Š” ๊ฒ‰์ƒ‰์ƒ์„ ๊ธฐ์ค€์œผ๋กœ material ๋˜๋Š” ํšจ๊ณผ๋ฅผ ์„ ํƒํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‹œ์Šคํ…œ ์„ค์ •์ด ๊ทธ ์™ธํ˜•๊ณผ ๋™์ž‘์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ ๋Œ€์‹ , ํŠน์ •ํ•œ ์‚ฌ์šฉ ์˜ˆ์— material ๋˜๋Š” ์Šคํƒ€์ผ์„ ๋งž์ถ”์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, macOS์•ฑ์˜ ๋ฉ”๋‰ด์— ๋Œ€ํ•ด menu material์„ ์‚ฌ์šฉํ•˜๊ณ , iOS์•ฑ์˜ ์ฃผ์š” ๋ ˆ์ด๋ธ”์— ๋Œ€ํ•ด label vibrancy ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ•˜๊ณ , tvOS์•ฑ์˜ ์ ์‘์ ์ด๊ณ  ์ „์ฒด ํ™”๋ฉด ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•ด prominent material์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ตœ์ƒ์œ„ material์— ๋Œ€ํ•ด์„œ๋งŒ vibrant ์ƒ‰์ƒ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์„œ ๊ฐ€๋…์„ฑ์„ ๋ณด์žฅํ•˜์‹ญ์‹œ์˜ค.

์‹œ์Šคํ…œ ์ •์˜ vibrant ์ƒ‰์ƒ์„ ์‚ฌ์šฉํ•  ๋•Œ, ๋งฅ๋ฝ์— ๋”ฐ๋ผ ์ƒ‰์ƒ์ด ๋„ˆ๋ฌด ์–ด๋‘ก๊ฑฐ๋‚˜, ๋ฐ๊ฑฐ๋‚˜, ์ฑ„๋„๊ฐ€ ๋†’๊ฑฐ๋‚˜, ๋Œ€๋น„๊ฐ€ ๋‚ฎ์•„ ๋ณด์ผ๊นŒ๋ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, iOS๋Š” Dynamic System Colors๋ฅผ ๋ฌธ์ž, ์ฑ„์šฐ๊ธฐ, glyph, ๊ตฌ๋ถ„์„ ์— ๋Œ€ํ•ด ์ •์˜ํ•ด ๋‘์–ด ์ด ์š”์†Œ๋“ค์ด ๋ฐ˜ํˆฌ๋ช…ํ•œ ๋ฐฐ๊ฒฝ์—์„œ๋„ ์ž˜ ๋ณด์ด๋„๋ก ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. macOS๋Š” ๋ชจ๋“  ํ‘œ์ค€ ์‹œ์Šคํ…œ ์ƒ‰์ƒ์ด vibrant ๋ฒ„์ „์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๊ฐ€์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด Color ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

ํ’€ ์ปฌ๋Ÿฌ ์•„์ด์ฝ˜(์ƒ‰์„ ๊ฝ‰ ์ฑ„์šด ์•„์ด์ฝ˜) ๋Œ€์‹  SF Symbols๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

ํ’€ ์ปฌ๋Ÿฌ ์ด๋ฏธ์ง€๋Š” ๋ทฐ์˜ ๋ฐฐ๊ฒฝ๊ณผ ํšจ๊ณผ์ ์ธ ๋Œ€๋น„๋ฅผ ๊ฐ–์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐฐ๊ฒฝ์ด ๋ฐ˜ํˆฌ๋ช…ํ•  ๋•Œ ๋™๋–จ์–ด์ง„ ๋Š๋‚Œ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด symbols์™€ ์ธํ„ฐํŽ˜์ด์Šค ์•„์ด์ฝ˜์€ ๋™์  ์‹œ์Šคํ…œ ์ƒ‰์ƒ ๋ฐ vibrancyํšจ๊ณผ์™€ ํ•จ๊ป˜ ๋™์ž‘ํ•ด ์–ด๋–ค ๋งฅ๋ฝ์—์„œ๋„ ์ž˜ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ฐ€์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด SF Symbols ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

ํ๋ฆผ ๋˜๋Š” vibrancyํšจ๊ณผ์™€ ๊ฒฐํ•ฉํ•  material์„ ์„ ํƒํ•  ๋•Œ, ๋Œ€๋น„์™€ ์‹œ๊ฐ์  ๋ถ„๋ฆฌ๋ฅผ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค:

  • ๋‘๊บผ์šด material์€ ํ…์ŠคํŠธ์™€ ์„ธ๋ถ€ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๋‹ค๋ฅธ ์š”์†Œ์— ๋Œ€ํ•ด ๋” ๋‚˜์€ ๋Œ€๋น„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ˜ํˆฌ๋ช…ํ•จ์€ ๋ฐฐ๊ฒฝ์— ์žˆ๋Š” ์ปจํ…์ธ ์— ๋Œ€ํ•ด ์‹œ๊ฐ์ ์ธ ์•Œ๋ฆผ์„ ์ œ๊ณตํ•จ์œผ๋กœ์„œ ์‚ฌ๋žŒ๋“ค์ด ์ž์‹ ์˜ ๋งฅ๋ฝ์„ ์œ ์ง€ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์€ ๋ช‡๋ช‡ material๋“ค์„ ์ œ๊ณตํ•ด ๋‹น์‹ ์ด ์ปจํ…์ธ ์— ๋Œ€ํ•œ ์ง‘์ค‘์„ ํ•ด์น˜์ง€ ์•Š์œผ๋ฉด์„œ ๊นŠ์ด๊ฐ๊ณผ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ์–‡์€ ๊ฒƒ๋ถ€ํ„ฐ ๋งค์šฐ ๋‘๊บผ์šด ๊ฒƒ ๊นŒ์ง€, ์–ด๋–ค material์€ ํ‘œ์‹œ ๋ชจ๋“œ์— ์ ์‘ํ•˜๋ฉฐ ์–ด๋–ค ๊ฒƒ์€ ํ•ญ์ƒ ๋ฐ๊ณ  ์–ด๋–ค ๊ฒƒ์€ ํ•ญ์ƒ ์–ด๋‘ก์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์„ ํƒํ•œ material๊ณผ ๊ด€๊ณ„์—†์ด, ์ตœ์ƒ์œ„ ์š”์†Œ์— ๋Œ€ํ•ด vibrantํ•˜์ง€ ์•Š์€ ์ƒ‰์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด, UIBlurEffect.Style ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

ํ”Œ๋žซํผ ๊ณ ๋ ค์‚ฌํ•ญ

watchOS์—๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

iOS, iPadOS

iOS์™€ iPadOS๋Š” ๋ ˆ์ด๋ธ”(label), ์ฑ„์šฐ๊ธฐ(fill), ๊ตฌ๋ถ„์„ (separator)์— ๋Œ€ํ•ด ๊ฐ material์— ์ž‘๋™ํ•˜๋„๋ก ํŠน๋ณ„ํžˆ ๋””์ž์ธ๋œ vibrancy ๊ฐ’์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ์‹œ์Šคํ…œ ์ƒ‰์ƒ์€ vibrant ๋ฒ„์ „์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

label๊ณผ fill์€ ๊ฐ๊ฐ ๋ช‡๋ช‡ ์ˆ˜์ค€์˜ vibrancy๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค; separator๋Š” ํ•˜๋‚˜์˜ ์ˆ˜์ค€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์ค€์˜ ์ด๋ฆ„์€ ์š”์†Œ์™€ ๋ฐฐ๊ฒฝ ์‚ฌ์ด์˜ ์ƒ๋Œ€์  ๋Œ€๋น„์˜ ์–‘์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ˆ˜์ค€์€ ๊ฐ€์žฅ ๋†’์€ ๋Œ€๋น„๋ฅผ ๊ฐ€์ง€๋Š” ๋ฐ˜๋ฉด, 4๋ฒˆ์งธ์˜ ์ˆ˜์ค€์€ (๋งŒ์•ฝ ์กด์žฌํ•œ๋‹ค๋ฉด) ๊ฐ€์žฅ ๋‚ฎ์€ ๋Œ€๋น„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

4๋ฒˆ์งธ ์ˆ˜์ค€์„ ์ œ์™ธํ•˜๊ณ , ๋ชจ๋“  material์˜ label์— ๋Œ€ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ vibrancy ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 4๋ฒˆ์งธ ์ˆ˜์ค€์„ thin์ด๋‚˜ ultra thin material์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ถ”์ฒœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€๋น„๊ฐ€ ๋„ˆ๋ฌด ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  material์˜ fill์— ๋Œ€ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ vibrancy ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์€ separator์— ๋Œ€ํ•ด ๋ชจ๋“  material์— ๋Œ€ํ•ด ์ž˜ ์ž‘๋™ํ•˜๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋ณธ vibrancy ๊ฐ’์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

macOS

macOS๋Š” ๋ชจ๋“  ํ‘œ์ค€ ์ƒ‰์ƒ์— ๋Œ€ํ•ด vibrant๋ฒ„์ „์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ธํ„ฐํŽ˜์ด์Šค์— ์ ์šฉ๋œ ๋ฐ˜ํˆฌ๋ช…์„ฑ, ํ๋ฆผ, vibrancy์˜ ์–‘์„ ์ •์˜ํ•˜๋Š” material์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ๋ช‡๋ช‡ ํ‘œ์ค€ material์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ๊ฐ์€ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋””์ž์ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œˆ๋„์šฐ, ๋ฉ”๋‰ด, ํŒ์˜ค๋ฒ„, ์‚ฌ์ด๋“œ๋ฐ”, ํƒ€์ดํ‹€๋ฐ”(์ œ๋ชฉํ‘œ์‹œ์ค„) ๋“ฑ์˜ ๊ธฐ๋ณธ ๋ชจ์Šต๊ณผ ์ผ์น˜ํ•˜๋„๋ก material์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ๋ฅผ ์œ„ํ•ด์„œ๋Š” NSVisualEffectView.Material๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

(์•„๋ž˜ ๋‚ด์šฉ์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค - https://developer.apple.com/design/human-interface-guidelines/foundations/materials#:~:text=on all materials.-,macOS,-macOS provides vibrant ์ฐธ์กฐ)

'๐Ÿ“ฑ๐ŸŽ iOS > ๐Ÿ‘ค HIG' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[HIG] Foundations - App icons ์•ฑ ์•„์ด์ฝ˜  (0) 2022.10.24