Как создать эффект качающегося значка iPhone?

Я хочу качать изображение назад и вперед в моем приложении, подобно тому, как значки iPhone качаются при нажатии на него. Какой лучший способ сделать это?

Это мое первое знакомство с анимацией, в которой не используется анимированный GIF. Я думаю, что идея состоит в том, чтобы слегка повернуть изображение назад и вперед, чтобы создать эффект колебания. Я смотрел на использование CABasicAnimation и CAKeyframeAnimation. CABasicAnimation создает джиттер каждый раз, когда повторяется, потому что он переходит в исходную позицию и не интерполирует обратно. CAKeyframeAnimation кажется решением, за исключением того, что я не могу заставить его работать. Я должен что-то упустить. Вот мой код с использованием CAKeyframeAnimation (который не работает):

    NSString *keypath = @"wobbleImage";
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:keypath];
animation.duration = 1.0f;
animation.delegate = self;
animation.repeatCount = 5;

CGFloat wobbleAngle = 0.0872664626f;
NSValue *initial = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0.0f, 0.0f, 0.0f, 1.0f)];
NSValue *middle = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(wobbleAngle, 0.0f, 0.0f, 1.0f)];
NSValue *final = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(-wobbleAngle, 0.0f, 0.0f, 1.0f)];
animation.values = [NSArray arrayWithObjects:initial, middle, final, nil];

[imageView.layer addAnimation:animation forKey:keypath];


Или может быть более простое решение, которое я просто пропускаю. Цените любые указатели. Спасибо!

Ответы на вопрос(12)

Ваш ответ на вопрос