CALayer

작성일

CALayer

  • CA는 Core Animation의 약자이다.
  • UIView는 직접 화면에 그리는 시각적 행위를 Core Animation에게 위임하는데, 그것이 바로 layer라는 CALayer타입의 프로퍼티를 통해서이다.

간단한 사용 예제

myView.layer.cornerRadius = 100
  • myView라는 사각형이 있으면 그 끝을 100정도로 둥글게 만들어 주겠다라는 코드 이다.
myView.layer.borderColor = UIColor.black.cgColor
myView.layer.borderWidth = 5
  • 사각형에 5정도 size의 검은색 선을 둘러준다는 의미의 코드이다.
let layer1: CALayer = CALayer()
layer1.frame = .init(x: 10, y: 10, width: 100, height: 100)
layer1.backgroundColor = UIColor.red.cgColor
myView.layer.addSublayer(layer1)
 
let layer2: CALayer = CALayer()
layer2.frame = .init(x: 120, y: 10, width: 100, height: 100)
layer2.backgroundColor = UIColor.red.cgColor
myView.layer.addSublayer(layer2)
 
let layer3: CALayer = CALayer()
layer3.frame = .init(x: 230, y: 10, width: 100, height: 100)
layer3.backgroundColor = UIColor.red.cgColor
myView.layer.addSublayer(layer3)

사각형의 뷰를 여러개 만든것이다. 하지만, 이 방법은 우리가 흔히 아는 UIView를 사용해도 만들 수 있다. 하지만 굳이 이 방법을 알려주는이유는?
UIView보다 CALayer를 생성하는게 더 가벼워 더 나은 퍼포먼스를 기대할 수 있어서이다.