보기의 transform
속성에 애니메이션을 적용하려고합니다. 나는 "변환"하는 방법 animationWithKeyPath:
의 매개 변수를 설정 할 때마다 나는 오류가 어떤 이유로CAKeyframeAnimation Keypath 오류
CAKeyframeAnimation *shakeAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
NSArray *transformValues = [NSArray arrayWithObjects:
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation((3*M_PI)/8)],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(-((3*M_PI)/8))],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation((3*M_PI)/8)],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(-((3*M_PI)/8))],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation((3*M_PI)/8)],
[NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(-((3*M_PI)/8))],
nil];
[shakeAnimation setValues:transformValues];
NSArray *times = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.16f],[NSNumber numberWithFloat:0.33f],[NSNumber numberWithFloat:0.49f],[NSNumber numberWithFloat:0.66f],[NSNumber numberWithFloat:0.82f], [NSNumber numberWithFloat:1.0f], nil];
[shakeAnimation setKeyTimes:times];
NSArray *timingFunctions = [NSArray arrayWithObjects:
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
nil];
[shakeAnimation setTimingFunctions:timingFunctions];
shakeAnimation.fillMode = kCAFillModeForwards;
shakeAnimation.removedOnCompletion = NO;
shakeAnimation.duration = 1.0f;
[self.someView.layer addAnimation:shakeAnimation forKey:@"anim"];
: 여기 내 코드입니다. 이 디버깅 30 분 동안 시도했지만 오류를 찾을 수 없습니다. 나는 처음에 그 불구하고 나는있는 UIView의 transform 속성에 허용되지 않는 애니메이션을 수행했지만, 나는 이런 식으로 뭔가를 할 수 있다는 사실을 알고 : 고급의
aView.transform = CGAffineTransformMakeRotation(M_PI/2);
감사합니다.
당신 말이 맞아! 뷰의'transform' 속성에 대해 생각하고있었습니다. 정말 고마워. 또한,'transform.rotation.z' 키 경로가 취하는'CGFloat' 값은 무엇을 의미합니까? 각도 (라디안 또는 도인 경우)? – pasawaya
Nevermind. 당신의 링크를 확인했습니다. 라디안 단위의 회전 각도입니다. – pasawaya