2013-06-19 2 views
1

Я реализую проект анимации. У меня есть изображение wheel.png. Как я могу повернуть это изображение, используя CAKeyFrameAnimation.I уже поворачиваю это изображение с помощью CABasicAnimation.Как повернуть изображение колеса с помощью CAKeyFrameAnimation

+0

Только что отредактировал мой ответ. Пожалуйста, проверьте код и сообщите мне, нужна ли вам какая-либо помощь или если это работает для вас. Cheers –

ответ

2

Это учебное пособие на сайте Ray, в котором показано шаг за шагом, как создать вращающееся колесо. Проверьте пример кода для вращения анимации. Это может быть то, что вы ищете.

http://www.raywenderlich.com/9864/how-to-create-a-rotating-wheel-control-with-uikit

Хотя она использует UIKit, но вы получите идею.

Edit:

Вот пример кода с использованием CAKeyFrameAnimation, который вращает изображение постоянно, вы можете играть с ним, чтобы выполнить то, что вам нравится. Надеюсь, что это помогает вам.

UIImageView *tempView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 80, 80)]; 
tempView.image = [UIImage imageNamed:@"Icon"]; 
tempView.backgroundColor = [UIColor redColor]; 
[self.view addSubview:tempView]; 

const NSUInteger rotations = 10; 
const NSTimeInterval duration = 5; 

CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation"]; 
CGFloat touchUpStartAngle = 0; 
CGFloat touchUpEndAngle = (M_PI); 
CGFloat angularVelocity = (((2 * M_PI) * rotations) + M_PI)/duration; 
anim.values = @[@(touchUpStartAngle), @(touchUpStartAngle + angularVelocity * duration)]; 
anim.duration = duration; 
anim.autoreverses = NO; 
anim.delegate = self; 
anim.repeatCount = 1; 
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; 
[tempView.layer addAnimation:anim forKey:@"test"]; 

tempView.transform = CGAffineTransformMakeRotation(touchUpStartAngle +  (touchUpEndAngle)); 
+0

Я упомянул учебник анимации raywendrlich. Но они не реализовали класс анимации CAKeyFrameAnimation. Я хочу повернуть колесо, используя CAKeyFrameAnimation. – SBM

+0

Я это знаю. Я думал, вам может понравиться более простой способ повернуть изображение. Если вы настроены с использованием CAKeyAnimation, я обновляю свой ответ через некоторое время с помощью некоторых кодов. В противном случае вы можете использовать более простой способ. –

+0

Я уже сделал с CABasicAnimation.It работает отлично. Пожалуйста, обновите свой код, используя CAKeyFrameAnimation. – SBM

Смежные вопросы