์ด๋ฏธ์ง ์์ฒด๋ฅผ ๋๋ฆฌ๊ณ ์ถ์๋ฐ.. ํน์ ๋ถ๋ถ์ ๊ณ ์ ์ํค๊ณ ์ถ์ผ๋ฉด ์ด๋ป๊ฒ ํ ๊น?
Image Stretch a.k.a nine patch
- ์ด๋ ๊ฒ ์ด๋ฏธ์ง์ ํน์ ๋ถ๋ถ์ ๊ณ ์ ์ํค๊ณ ๋๋จธ์ง๋ง ๋๋ฆด ์ ์๋๋ก ํ๊ฒ ๋ง๋๋ ๊ฒ์ Image Stretch๋ผ ํ๋ค.
- Android์์๋ Nine Patch๋ผ ํ๋ค๊ณ ํ๋ค.
- ์ด๋ฌํ ์ํฉ์ ๋ณดํต, Corner์ ์์นํ ์ด๋ฏธ์ง๋ ๊ณ ์ , ์ค์์ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฆฌ๊ณ ์ถ์ ๊ฒฝ์ฐ์์ ๋ฐ์ํ๋ค.
- ๊ทธ๋ ๊ธฐ์ ์์ ๊ฐ์ด ์ํ์ข์ฐ๋ฅผ ๊ณ ๋ คํ์ ๋ ๋๋๋ ๊ณต๊ฐ์ ์ด 9๊ฐ๊ฐ ๋๋ค.
- ๊ทธ๋์ nine patch๋ผ ๋ถ๋ฅธ๋ค.
- ์ผ๋จ ์ํ์ข์ฐ์ ์์น๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด inset์ด๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ๋ฉฐ,
- ์ด ๋ถ๋ถ์ ์ ์ธํ ๊ณณ์ ๊ฐ ์์น์ ๋ง๊ฒ ํน์ ๋ฐฉํฅ์ผ๋ก Stretch๋๋ค.
Problem
- ์์ ๊ฐ์ ๊ธฐํ์๋ฅผ ๋ฐ์๋ค.
- ๋ฒํผ ๋ด๋ถ์ ํด๋นํ๋ Text์ ๊ธธ์ด์ ๋ฐ๋ผ ๋ฒํผ์ UI ์ญ์ ๋น๋กํ์ฌ ๋์ด๋์ผ ํ๋ค.
- ๊ทธ๋ฐ๋ฐ ๋ฒํผ์ ํด๋น๋๋ UI๋ฅผ ๊ทธ๋ ค์ฃผ๋ ๊ฒ์ด ์๋๊ณ , ์ด๋ฏธ์ง๊ฐ ๋ค์ด์จ๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ํน์ ๋ถ๋ถ์ ๋ํด์๋ง ์ด๋ฏธ์ง๋ฅผ ๋๋ ค์ฃผ์ด์ผ ์ข์ฐ์ ๊ณก์ ์ด โ์โ์ผ๋ก ์ ์ง๋ ๊ฒ์ด๋ค.
- ๋ง์ฝ ๊ทธ๋ ์ง ์๋ค๋ฉด ์์ ๊ฐ์ด ํ์์ผ๋ก ์ฐ๊ทธ๋ฌ์ง ๊ฒ์ด๋ค.
Solution
ํด๊ฒฐ๋ฒ์ ๊ฐ๋จํ๋ค.
- Xcode์ Asset์ ๋ค์ด๊ฐ๋ค.
- Asset์์ Stretchํ๊ณ ์ถ์ asset์ ํด๋ฆญํ๋ค.
- ํด๋ฆญํ๊ณ ์์
...
>Show Slicing
์ ํ
Start Slicing
- ์ฐ๋ฆฌ๋ ์ข์ฐ๋ง ๋๋ฆฌ๋ฉด ๋๋ฏ๋ก 1๋ฒ ํญ๋ชฉ ์ ํ
- ์ ํํ๊ฒ ๋๋ฉด ์์ ๊ฐ์ ํ์์ผ๋ก Xcode์์ ์ด๋ ๋ถ๋ถ์ ๋๋ฆฌ๊ฒ๋ ์ง ์ก์์ค๋ค.
- ๋ถํฌ๋ช ํ๊ณณ์ด ๋๋ฆฌ๊ฒ ๋ ๊ณณ์ด๋ค.
- ์๋์ ๋ณด๋ฉด Slicing์ด๋ผ๋ ํญ๋ชฉ์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ์ถ๊ฐ์ ์ผ๋ก center์ ๊ฐ์ tiles, stretch๊ฐ ์๋๋ฐ ์ฐ๋ฆฌ๋ ์ข์ฐ๋ฅผ ์ ์ธํ ์ค์ ๋ถ๋ถ์ โ๋๋ฆด ๊ฒโ์ด๊ธฐ ๋๋ฌธ์ Stretch๋ฅผ ์ ํํ์.
- Tiles์ ๊ฒฝ์ฐ ์ ํ๋ ์์ญ์ tile๊ณผ ๊ฐ์ ํํ๋ก ๋ฐ๋ณตํ์ฌ ์ฑ์ด๋ค๋ ์๋ฏธ๋ค.
Result
- Image View - Content Mode : Scale To Fill
Stretch X | Stretch O |
---|---|
- ์ผ์ชฝ์ ๊ฒฝ์ฐ ๊ณก์ ๊น์ง Stretch๋์ง๋ง ์ค๋ฅธ์ชฝ์ ์ค์๋ง Stretch ๋๋ค.