์ด๋ฏธ์ง€ ์ž์ฒด๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์‹ถ์€๋ฐ.. ํŠน์ • ๋ถ€๋ถ„์€ ๊ณ ์ •์‹œํ‚ค๊ณ  ์‹ถ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

Image Stretch a.k.a nine patch

  • ์ด๋ ‡๊ฒŒ ์ด๋ฏธ์ง€์˜ ํŠน์ • ๋ถ€๋ถ„์€ ๊ณ ์ •์‹œํ‚ค๊ณ  ๋‚˜๋จธ์ง€๋งŒ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ Image Stretch๋ผ ํ•œ๋‹ค.
  • Android์—์„œ๋Š” Nine Patch๋ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

  • ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ๋ณดํ†ต, Corner์— ์œ„์น˜ํ•œ ์ด๋ฏธ์ง€๋Š” ๊ณ ์ •, ์ค‘์•™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋Š˜๋ฆฌ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.
  • ๊ทธ๋ ‡๊ธฐ์— ์œ„์™€ ๊ฐ™์ด ์ƒํ•˜์ขŒ์šฐ๋ฅผ ๊ณ ๋ คํ–ˆ์„ ๋•Œ ๋‚˜๋‰˜๋Š” ๊ณต๊ฐ„์€ ์ด 9๊ฐœ๊ฐ€ ๋œ๋‹ค.
  • ๊ทธ๋ž˜์„œ nine patch๋ผ ๋ถ€๋ฅธ๋‹ค.
  • ์ผ๋‹จ ์ƒํ•˜์ขŒ์šฐ์˜ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด inset์ด๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๋ฉฐ,
  • ์ด ๋ถ€๋ถ„์„ ์ œ์™ธํ•œ ๊ณณ์€ ๊ฐ ์œ„์น˜์— ๋งž๊ฒŒ ํŠน์ • ๋ฐฉํ–ฅ์œผ๋กœ Stretch๋œ๋‹ค.

Problem

  • ์œ„์™€ ๊ฐ™์€ ๊ธฐํš์„œ๋ฅผ ๋ฐ›์•˜๋‹ค.
  • ๋ฒ„ํŠผ ๋‚ด๋ถ€์— ํ•ด๋‹นํ•˜๋Š” Text์˜ ๊ธธ์ด์— ๋”ฐ๋ผ ๋ฒ„ํŠผ์˜ UI ์—ญ์‹œ ๋น„๋ก€ํ•˜์—ฌ ๋Š˜์–ด๋‚˜์•ผ ํ•œ๋‹ค.

  • ๊ทธ๋Ÿฐ๋ฐ ๋ฒ„ํŠผ์— ํ•ด๋‹น๋˜๋Š” UI๋ฅผ ๊ทธ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด์˜จ๋‹ค.
  • ์ด๋Ÿฐ ๊ฒฝ์šฐ ํŠน์ • ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋งŒ ์ด๋ฏธ์ง€๋ฅผ ๋Š˜๋ ค์ฃผ์–ด์•ผ ์ขŒ์šฐ์˜ ๊ณก์„ ์ด โ€œ์›โ€์œผ๋กœ ์œ ์ง€๋  ๊ฒƒ์ด๋‹ค.

  • ๋งŒ์•ฝ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์ด ํƒ€์›์œผ๋กœ ์ฐŒ๊ทธ๋Ÿฌ์งˆ ๊ฒƒ์ด๋‹ค.

Solution

ํ•ด๊ฒฐ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค.

  1. Xcode์˜ Asset์— ๋“ค์–ด๊ฐ„๋‹ค.
  2. Asset์—์„œ Stretchํ•˜๊ณ  ์‹ถ์€ asset์„ ํด๋ฆญํ•œ๋‹ค.

  1. ํด๋ฆญํ•˜๊ณ  ์œ„์— ... > Show Slicing ์„ ํƒ

  1. Start Slicing

  1. ์šฐ๋ฆฌ๋Š” ์ขŒ์šฐ๋งŒ ๋Š˜๋ฆฌ๋ฉด ๋˜๋ฏ€๋กœ 1๋ฒˆ ํ•ญ๋ชฉ ์„ ํƒ

  1. ์„ ํƒํ•˜๊ฒŒ ๋˜๋ฉด ์œ„์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ Xcode์—์„œ ์–ด๋Š ๋ถ€๋ถ„์„ ๋Š˜๋ฆฌ๊ฒŒ๋ ์ง€ ์žก์•„์ค€๋‹ค.
    • ๋ถˆํˆฌ๋ช…ํ•œ๊ณณ์ด ๋Š˜๋ฆฌ๊ฒŒ ๋  ๊ณณ์ด๋‹ค.
    • ์•„๋ž˜์— ๋ณด๋ฉด Slicing์ด๋ผ๋Š” ํ•ญ๋ชฉ์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ถ”๊ฐ€์ ์œผ๋กœ center์— ๊ฐ’์€ tiles, stretch๊ฐ€ ์žˆ๋Š”๋ฐ ์šฐ๋ฆฌ๋Š” ์ขŒ์šฐ๋ฅผ ์ œ์™ธํ•œ ์ค‘์•™ ๋ถ€๋ถ„์„ โ€œ๋Š˜๋ฆด ๊ฒƒโ€์ด๊ธฐ ๋•Œ๋ฌธ์— Stretch๋ฅผ ์„ ํƒํ•˜์ž.
    • Tiles์˜ ๊ฒฝ์šฐ ์„ ํƒ๋œ ์˜์—ญ์„ tile๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ฐ˜๋ณตํ•˜์—ฌ ์ฑ„์šด๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

Result

  • Image View - Content Mode : Scale To Fill
Stretch XStretch O
  • ์™ผ์ชฝ์˜ ๊ฒฝ์šฐ ๊ณก์„ ๊นŒ์ง€ Stretch๋˜์ง€๋งŒ ์˜ค๋ฅธ์ชฝ์€ ์ค‘์•™๋งŒ Stretch ๋œ๋‹ค.

Reference