본문 바로가기
iOS/설명

[iOS] CALayer

by Sky Titan 2021. 12. 5.
728x90
 

iOS) CALayer 제대로 이해하기

안녕하세요? 소들입니다 :) 오늘은 CALayer에 대해 공부해보려고 해요! UIView는 다음과 같이 CALayer 타입의 layer 라는 프로퍼티를 갖고 있거든여 이 layer는 우리가 직접적이건 간접적이건 꽤나? 건드

babbab2.tistory.com

 

Apple Developer Documentation

 

developer.apple.com

Core Animation

  • iOS에서 화면을 1초당 60프레임으로 렌더링해서 유지할 수 있도록 GPU에 직접 접근할 수 있게하는 OpenGL이 존재한다.
  • 하지만 OpenGL은 매우 low하기 때문에 다루기가 매우 어렵다.
  • OpenGL보다 간단하게 사용해서 그래픽을 다룰 수 있도록 만든 것이 CoreGraphics라는 프레임워크
  • 하지만 Core Graphics또한 low한 편에 속하기 때문에 여기서 한 번 더 좀 더 high레벨의 프레임워크를 만든 것이 CoreAnimation이다.
  • Core Animation에서 다룰 수 있는 기능 중 가장 자주, 쉽게 다룰 수 있는 것들을 모아 만든 것이 UIKit
  • 따라서 그래픽 작업 시 UIKit레벨에서 할 수 없는 고급 그래픽 작업들을 하려면 CoreAnimation을 활용해야 한다.

CALayer

  • 이미지 기반의 컨텐츠를 관리하고 해당 컨텐츠에서 애니메이션을 실행할 수 있게 해주는 object
  • background color, border, corner, shadow 등의 visual attribute들을 관리해준다.
  • UIView들은 하나의 main layer를 가지고 있고 해당 layer는 여러 개의 sublayer들을 추가적으로 가질 수 있다.
728x90

댓글