티스토리 뷰

반응형

 

 

iOS 개발 입문단계에서도 알게 모르게 사용하고 있는 CALayer, 컨텐츠의 기하학적 성질, 시각적 컨텐츠 크기, 변형, 그림자효과 등 다양한 기능을 지원하는 객체입니다.(흔히 많이 쓰는 layer인스턴스가 CALayer 객체) 오늘은 iOS 컨텐츠에 대한 레이어 객체, CALayer(Core Animation Layer)에 대한 개발자 문서 개요를 함께 읽어 보겠습니다. 오역, 지적 환영합니다.

 

 


CALayer

Core Animation Layer, 이미지-기반 컨텐츠를 관리하고, 컨텐츠의 애니메이션 구현을 지원하는 객체

 

 

 

CALayer 클래스의 정의형태 는 위와 같습니다. CALayer는 NSObject 클래스를 상속받습니다. 여기서 NSObject는 Objective-C 클래스 계층의 최상위 루트 클래스라고 합니다. 이어서 개요를 읽어보겠습니다.

 

 


Overview

레이어(Layer)들은 뷰(View)들의 배경저장소를 제공하는데 자주 사용됩니다. 이 뿐만 아니라 컨텐츠를 보여주는 뷰 없이 사용되기도 합니다. 레이어의 주 역할은 당신이 제공하는 시각적 컨텐츠를 관리하는 것이지만 레이어 자체만으로도 시각적인 속성을 갖고 있으며 이는 설정을 할 수도 있는데, 그 예로는 배경색(background color), 테두리(border), 그림자(shadow) 등이 있습니다.

레이어는 시각적 컨텐츠를 관리하는 것 뿐만 아니라, 레이어는 스크린 상에 컨텐츠를 뿌려줄 때 사용되는 컨텐츠의 위치, 사이즈, 변경 등의 기하학과 연관된 정보 또한 유지합니다. 

당신이 레이어의 컨텐츠나 기하학적 애니메이션을 초기화 하는 방법은 레이어의 프로퍼티들을 변경하는 것입니다.레이어 객체는 CAMediaTiming protocol(레이어의 타이밍 정보를 정의하는 프로토콜)을 채택하는 애니메이션과 레이어의 속도, 지속시간등을 캡슐화합니다.

 

 

만약 레이어객체가 뷰(view) 생성에 의해 만들어졌다면, 뷰는 일반적으로 자기자신을 레이어의 대리자(delegate)로 자동 할당합니다. 당신은 이들의 관계를 변경해서는 안됩니다. 당신이 만든 레이어를 사용하기 위해서는 delegate 객체를 할당해야 합니다. 그 뒤, 동적으로 레이어의 컨텐츠를 제공하고, 다른 동작들을 실행하기 위해 해당 객체를 사용해야 합니다.

레이어는 개별적으로 하위뷰(subviews)들의 레이아웃을 관리하기 위해 레이아웃 관리 객체(layout Manager property에 할당 됨)가 필요할 지도 모릅니다.

 

 

▼ CALayer 개발자 문서 원본링크

 

CALayer - Core Animation | Apple Developer Documentation

Layers are often used to provide the backing store for views but can also be used without a view to display content. A layer’s main job is to manage the visual content that you provide but the layer itself has visual attributes that can be set, such as a b

developer.apple.com

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함