새소식

iOS

UIView와 CALayer

  • -

UIView

  • 컨텐츠를 보여주고 사용자가 인터랙션할 수 있는 사각형 틀을 제공하는 기본 UI 컴포넌트
  • Auto Layout API 제공
  • CALayer의 delegate이자 래퍼, 컨텐츠의 드로잉과 애니메이션을 CALayer에 위임
  • draw(_:) 메소드가 CPU의 메인스레드에서 동작
  • UIResponder의 서브클래스이므로 responder chain내에서 터치나 제스처 이벤트 핸들링 가능
  • Accessibility 지원

CALayer

  • UIView의 기반을 제공하지만 CALayer만으로 UI를 구현할 수는 없다.
  • 컨텐츠를 캡처하여 비트맵으로 backing store에 캐싱
  • GPU를 사용하여 렌더링 -> 고주사율의 부드러운 애니메이션 가능
  • UIView보다 성능이 좋아서 복잡한 애니메이션이나 퍼포먼스가 요구되는 작업에 적합
  • UI이벤트를 받지는 못하지만 hitTest, contains 메소드를 통해 터치 이벤트 감지는 가능

참고

https://velog.io/@yeahg_dev/UIView-CALayer-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

UIView 🆚 CALayer 차이점

안녕하세요~ 릴리이입니다😃 오늘은 비슷한 역할을 하는 것 같지만, 다른 UIView와 CALayer의 특징들과 차이점에 대해 공부해보겠습니다. CALayer 어디서 봤더라? UIView의 그림자(shadow)나 경계선(border)

velog.io

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.