Skip to content

Latest commit

ย 

History

History
36 lines (18 loc) ยท 2.49 KB

Layer.md

File metadata and controls

36 lines (18 loc) ยท 2.49 KB

UIView ์—์„œ Layer ๊ฐ์ฒด๋Š” ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.

๋„์›€์„ ์ค€ ์ข‹์€ ๋ธ”๋กœ๊ทธ

์‚ฌ์ „ ์ง€์‹

[iOS์—์„œ Graphic ์š”์†Œ๋“ค์„ ๊ทธ๋ ค๋‚ด๊ธฐ ์œ„ํ•ด ์กด์žฌํ•˜๋Š” ๊ฒƒ๋“ค]

Core Graphics ์—์„œ UIKit ์œผ๋กœ ๊ฐˆ ์ˆ˜๋ก ๊ฐ„ํŽธํ•ด์ง€๊ณ  ์ฝ”๋“œ๋Ÿ‰๋„ ์ค„์—ˆ์ง€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์ œํ•œ๋œ๋‹ค. ๋ฐ˜๋ฉด ์ €์ˆ˜์ค€์˜ ํ”„๋ž˜์ž„์›Œํฌ๋Š” ๋ณด๋‹ค ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ UIKit, AppKit ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค

  • ๊ฐ€์šด๋ฐ ๋ณด์ด๋Š” OpenGL์€ iOS ๋””๋ฐ”์ด์Šค์˜ Graphics Hardware์™€ ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ์ง์ ‘์ ์ธ ์ ‘๊ทผ์„ ์ง€์›ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋งŒํผ ๊ฐ„๋‹จํ•œ ์ž‘์—…์กฐ์ฐจ ๊ต‰์žฅํžˆ ๋งŽ์€ ์–‘์˜ ์ฝ”๋“œ๋ฅผ ํ•„์š”๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.

  • ๋น„ํšจ์œจ์ ์ธ OpenGL์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด Core Graphics์™€ Core Animation์ด ์กด์žฌํ•œ๋‹ค.

  • CALayer๋Š” Core Animation์ด ์ œ๊ณตํ•˜๋Š” ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

CALayer๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ OpenGL์˜ ์žฅ์ ์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์Œ

Answer

Layer๊ฐ์ฒด๋Š” UIView์— ์†ํ•˜๋ฉฐ, UIView๋ฅผ ์ง€์›ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. UIView๋Š” 1.ํ™”๋ฉดํ‘œ์‹œ 2.ํ„ฐ์น˜ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ 3.subView ๋“ฑ์˜ ์ž‘์—…์„ ํ•˜๋Š”๋ฐ ์ด๋•Œ, 1.ํ™”๋ฉดํ‘œ์‹œ(์‹ค์ œ๋กœ ๋ทฐ ์œ„์— ์ปจํ…์ธ ๋‚˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ทธ๋ฆฌ๋Š” ํ–‰์œ„)๋Š” ์ž์‹ ์ด ์ง์ ‘ ํ–‰ํ•˜์ง€ ์•Š๊ณ  UIKit์— ์˜ํ•ด Core Animation์—๊ฒŒ ์œ„์ž„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Core Animation์ด ์ œ๊ณตํ•˜๋Š” ์š”์†Œ ์ค‘์— ํ•˜๋‚˜์ธ CALayer๊ฐ€ ๋ฐ”๋กœ ๊ทธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

CALayer์˜ ์†์„ฑ์œผ๋กœ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ cornerRadius, shadow, border, frame, bounds ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ญ๋ถ™์ด๊ธฐ

cornerRadius๋‚˜ shadow ๊ด€๋ จ ์ฝ”๋“œ์—์„œ ๋งŽ์ด ๋ณด์ด๋Š” clipsToBounds, masksToBounds๋Š” ๊ฐ™์€ ์—ญํ• ์„ ํ•˜์ง€๋งŒ ๊ฐ๊ฐ UIView์™€ CALayer์— ์†ํ•œ ํ”„๋กœํผํ‹ฐ๋ผ๋Š” ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋‘˜์€ SubView๋‚˜ SubLayer์˜ ๋‚ด์šฉ(๊ธ€์”จ ๋“ฑ)์ด ๋ฃจํŠธ Layer์˜ ๊ฒฝ๊ณ„๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์ž์‹ ์„ ๋ณด์—ฌ์ฃผ๋Š๋ƒ ๊ฒฝ๊ณ„์— ๋งž์ถ”์–ด ์ž˜๋ฆฌ๋Š๋ƒ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋Š” Boolํƒ€์ž…์˜ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

imageimage