[ios] CALayer

var layer: CALayer { get }

Graphics in iOS

먼저 CALayer에 대해 알아보기 전 iOS에서 화면에서 보여주는 여러 그래픽스 요소들을 그려내기 위해 어떤 것들이 존재하는지부터 알아보자.

graphics.png

CALayer는 Core Animation이 제공하는 요소 중 하나이다.

Core Animation이 CALayer를 제공하기 때문에 보다 편리하게 그래픽스 하드웨어에 직접적으로 접근을 하고 빠른 속도로 작업을 처리할 수 있다.


CALayer

UIView에 속하며 UIView를 지원해주는 역할을 한다. 각 View마다 root layer는 하나씩 존재하고 이 root layer는 각각의 sub layer들을 가지고 있다.

UIView는 레이아웃과 터치 이벤트 처리 등 많은 작업을 한다. 하지만 실제로 뷰 위에 컨텐츠나 애니매이션을 그리는 행위는 직접적으로 다루지 않고 UIKit이 이러한 작업들을 Core Animation에게 위임한다. 즉, 실질적으로 뷰 위에 컨텐츠와 애니매이션을 그리는 행위는 CALayer가 담당하게 된다.