iOS - 핵심 애니메이션
1.2 CALayer는Quarts Core 프레임에 정의된 CALayer 객체를 통해 UIView의 인터페이스 속성을 쉽게 조정할 수 있습니다. 예를 들어 그림자, 원각 크기, 프레임 너비, 프레임 색상 등입니다.
왜 CALayer에서 CGColor와 CGImage라는 두 가지 데이터 형식을 사용합니까? UIColor와 UIImage가 아닌 두 가지 데이터 형식을 사용합니까?답: 먼저 알 수 있듯이 CALayer는 Quartz Core(도면층 프로그래밍) 프레임워크에 정의되어 있다. CGColorRef와 CGImageRef 두 가지 데이터는 CoreGraphics(간단한 그림) 프레임워크에 정의되고 UIColor, UIImage는 UIKit 프레임워크에 정의되어 있다.그 다음으로 QuartzCore와 CoreGraphics 두 프레임워크는 플랫폼을 뛰어넘어 사용할 수 있고 iOS에서도 사용할 수 있지만 Mac os X에서도 사용할 수 있지만 UIKit는 iOS에서만 사용할 수 있기 때문이다.이식성을 확보하기 위해 QuartzCore는 UIImage, UIColor를 사용할 수 없고 CGColorRef, CGImageRef만 사용할 수 있습니다.그러나 많은 경우 UIKit 대상의 특정한 방법을 통해 CGColorRef, CGImageRef를 얻을 수 있다
UIView와 CALayer의 선택은 CALayer에 비해 UIView는 이벤트 처리 기능이 하나 더 있다. 즉, CALayer는 사용자의 터치 이벤트를 처리할 수 없고 UIView는 할 수 있기 때문에 표시된 물건이 사용자와 상호작용을 해야 한다면 UIView를 사용한다.사용자와의 상호작용이 필요하지 않으면 UIView와 CALayer를 모두 사용할 수 있다. 물론 CALayer의 성능은 이벤트 처리 기능이 적고 경량급이기 때문이다.
2 핵심 애니메이션CoreAnimation[QuartzCore.framework] 2.1은 무엇입니까 1.이것은 매우 강력한 애니메이션 처리 API로 매우 화려한 애니메이션 유형을 만들 수 있고 종종 적은 노력으로 큰 효과를 낼 수 있다. 즉, 소량의 코드를 사용하면 매우 강력한 기능을 실현할 수 있다.Core Animation은 Mac os X와 iOS 플랫폼에서 사용할 수 있다. [주의해야 할 것은 Core Animation은 CALayer에서 직접 조작하는 것이지 UIView가 아니다]
2.2 사용 단계: 1.CoreAnimation 객체를 초기화하고 애니메이션 관련 속성을 설정합니다. 2.CALayer의ddAnimation:forKey:CoreAnimation 대상을 CALayer에 호출하면 애니메이션을 시작할 수 있습니다.CALayer의 removeAnimationForKey를 호출하여 CALayer에서 애니메이션을 중지하는 방법
2.3 방금 설명한 바와 같이 애니메이션을 실행하려면 반드시 CoreAnimation 대상을 초기화해야 한다. 그러나 일반적인 상황에서 우리가 사용하는 것이 비교적 많은 것은CoreAnimation의 하위 클래스가CoreAnimation의 구조를 이해하는 것이다[그림]
2.4 CAAnimation의 일반적인 속성은 모든 애니메이션의 부모 클래스이지만 직접 사용할 수 없습니다. 그 하위 클래스를 사용하는 일반적인 속성: 1'duration 애니메이션 시간 2'repeatCount: 애니메이션의 반복 횟수 3'timingFunction: 애니메이션이 실행되는 리듬 제어 4'delegate 애니메이션 에이전트: 애니메이션의 실행 과정을 감청하는 데 사용됩니다.애니메이션 시작 2.애니메이션 종료 5> beginTime: 애니메이션의 실행 지연 시간을 설정할 수 있습니다. 2초 지연하려면CACurrentMediaTime()+2,CACurrentMediaTime()tu 레이어 현재 시간 6)removeOnCompletion: 기본 YES는 애니메이션이 실행된 후에 레이어에서 제거하는 것을 의미합니다. 도형은 애니메이션이 실행되기 전의 상태로 회복됩니다. 애니메이션이 실행된 후의 상태를 유지하려면그러면 NO 7로 설정) fillModel: 현재 동작 결정: 애니메이션이 시작되기 전, 애니메이션이 끝난 후
2.5 CABasicAnimation CABasicAnimation은 CAPropertyAnimation의 하위 클래스로 기본적인 애니메이션 효과를 실현할 수 있으며 CALayer의 특정한 속성을 특정한 값에서 다른 값으로 점차적으로 변화시킬 수 있다
:fromValue
toValue
2.6 CAKey frame Animation 프레임 애니메이션 CAKey frame Animation은 CAProperty Animation의 하위 클래스로 CABasic Animation과 다르다. CABasic Animation은 한 수치에서 다른 수치로만 점차적으로 변할 수 있고 CAKey frame Animation은 한 NSArray를 사용하여 이러한 수치 속성을 저장한다.values: 바로 상술한 NSArray 대상이다. 그 안의 요소를'키프레임'이라고 부른다. 애니메이션은 지정된 시간 안에 저장된다.순서대로values 수조의 모든 관건 프레임 키Times 보이기: 대응하는 관건 프레임에 대응하는 시간을 지정할 수 있습니다. 그 수치 범위는 0에서 1이고 키Times의 모든 시간은values의 모든 프레임에 대응합니다. 이 속성을 설정하지 않으면 기본적으로 각 관건 프레임의 시간은 균등합니다.
3. CATransition 전환 애니메이션 CATransition은 Core Animation의 하위 클래스로 전환 애니메이션을 하는 데 사용되며, 레이어에 화면 이동과 화면 이동의 애니메이션 효과를 제공할 수 있습니다. UINavigation Controller는 컨트롤러의 스승을 화면으로 밀어넣는 애니메이션 효과 속성입니다. type: 애니메이션 전환의 유형subtype: 애니메이션 전환의 방향
4. CAAnimationGroup CAAnimationGroup은 Core Animation의 하위 클래스로 하나의 애니메이션 대상을 저장할 수 있습니다. CAAnimationGroup 대상을 층에 추가하면 그룹의 모든 애니메이션 대상이 동시에 실행할 수 있습니다. 속성:animations: 애니메이션 대상을 저장하는 NSArray
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.