Я хочу разворачивать изображение взад и вперед в моем приложении, подобно тому, как иконы 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];
Или может быть совсем простое решение, которое я просто пропустил. Цените любые указатели. Спасибо!