2013-06-03 2 views
4

Я пытался реализовать это, но не смог найти код, который мог бы встряхнуть его, как iPhone app shakes при удалении их!как поставить анимацию shake на uiimageview?

CABasicAnimation *animation = 
         [CABasicAnimation animationWithKeyPath:@"position"]; 
[animation setDuration:0.05]; 
[animation setRepeatCount:8]; 
[animation setAutoreverses:YES]; 
[animation setFromValue:[NSValue valueWithCGPoint: 
       CGPointMake([lockView center].x - 20.0f, [lockView center].y)]]; 
[animation setToValue:[NSValue valueWithCGPoint: 
       CGPointMake([lockView center].x + 20.0f, [lockView center].y)]]; 
[[lockView layer] addAnimation:animation forKey:@"position"]; 
+0

Смотрите этот ответ, он может помочь вам: http://stackoverflow.com/questions/1632364/shake-visual-effect-on-iphone -не-трясущееся устройство – pbibergal

ответ

6

Вы можете достичь этого с помощью следующего кода, вы определяете угол поворота от и до.

CABasicAnimation* anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; 
    [anim setToValue:[NSNumber numberWithFloat:0.0f]]; 
    [anim setFromValue:[NSNumber numberWithDouble:M_PI/16]]; // rotation angle 
    [anim setDuration:0.1]; 
    [anim setRepeatCount:NSUIntegerMax]; 
    [anim setAutoreverses:YES]; 
    [[imageView layer] addAnimation:anim forKey:@"iconShake"]; 
+0

спасибо, этот код работает! – Napster

6

попробовать это:

- (void)animateImage 
{ 
    CAKeyframeAnimation* animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"]; 

    CGFloat wobbleAngle = 0.06f; 

    NSValue* valLeft = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(wobbleAngle, 0.0f, 0.0f, 1.0f)]; 
    NSValue* valRight = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(-wobbleAngle, 0.0f, 0.0f, 1.0f)]; 
    animation.values = [NSArray arrayWithObjects:valLeft, valRight, nil]; 

    animation.autoreverses = YES; 
    animation.duration = 0.125; 
    animation.repeatCount = HUGE_VALF; 

    [[lockView layer] addAnimation:animation forKey:@"shakeAnimation"]; 
} 
+0

Спасибо Его действительно приятно ... –

+0

Работает как шарм !!! Благодарю. – Edgars

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