2011-10-22 1 views
1

이 애니메이션을 실행하는 데 문제가 있습니다. 아마 거기에 몇 가지 문제가 있다는 느낌이 들지만, 올바른 방향을 찾는 데 어려움을 겪고 있습니다. 사용자가 UISlider 컨트롤을 드래그하는 동안 CATextLayer를 펄스 (확대/축소)하고 싶습니다.UISlider 액션을 기반으로 CATextLayer에 애니메이션 적용

IBAction 메서드 안에 다음 코드가 있습니다. 메서드가 실제로 호출되는지 확인했습니다.

CABasicAnimation *pulse = [CABasicAnimation animationWithKeyPath:@"scale"]; 
pulse.fromValue = [NSNumber numberWithFloat:1.0]; 
pulse.toValue = [NSNumber numberWithFloat:1.2]; 
pulse.duration = 1; 
pulse.repeatCount = HUGE_VALF; 
pulse.autoreverses = YES; 
pulse.timingFunction =[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
[self.symbolLayer addAnimation:pulse forKey:nil]; 

나는 임은 확실하지 않은이가는 애니메이션을 방지하는 경우,이 방법은 반복적으로 매우 빠른라는 것을 발견했습니다, 또는 애니메이션 블록 자체에 문제가있는 것입니다.

답변

2

contentScale 속성에 애니메이션을 적용하려고합니다. CATextLayer에는 scale 속성이 없습니다.

또는 fontSize 애니메이션을 사용하면 내가 원하는 효과를 더 많이 얻은 것으로 나타났습니다. contentScale 애니메이션은 모서리 중 하나에서 움직이는 것처럼 보이지만 가운데에서 텍스트를 움직입니다.

+2

CABasicAnimation에서 fontSize에 애니메이션을 적용하는 예를 게시 할 수 있습니까? –