값을 사용자 정의 함수로 보간하는 것은 매우 쉽습니다. 그러나 그것은 나쁜 습관입니까? 대신 프레임 워크에 애니메이션 커브를 설명하기 위해 keyTimes
, timingFunctions
또는 timingFunction
을 사용해야합니까? 커스텀 애니메이션 커브를 가지고 작업 할 때 나는 왜 내가 왜 그 속성들을 사용해야하는지 알지 못합니다. 나는이 일을 올바르게하고 싶다.왜 CAKeyframeAnimation에서`keyTimes`,`timingFunctions` 또는`timingFunction`을 사용합니까?
잘 작동합니다. 예상대로 지정 입방 용이성 아웃 애니메이션 커브 뷰 위치를 애니메이션을 코어 애니메이션은 선형 보간하는
CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position.x"];
anim.duration = 5;
NSUInteger numberOfFrames = anim.duration * 60;
NSMutableArray *values = [NSMutableArray new];
for (int i = 0; i < numberOfFrames; i++)
{
CGFloat linearProgress = (double) i/(double) numberOfFrames;
CGPoint position = view.layer.position;
position.x = 10 + (300 * CubicEaseOut(linearProgress));
[values addObject:[NSValue valueWithCGPoint:position]];
}
anim.values = values;
[view.layer addAnimation:anim forKey:@"position"];
중간 값을 모두 계산하지 않고 'CAAnimation' 클래스가 보간을 처리하기를 원합니까? – hfossli