2013-01-09 7 views

Odpowiedz

7

Zrobiłem to za pomocą CGAffineTransformMakeRotation. Nie wiem, że jest jakaś inna lepsza metoda. Ale to, co zrobiłem, to moja logika, którą możesz skopiować, tak jak jest, i musisz tylko dodać przycisk usuwania po lewej stronie tego widoku. W poniższym kodzie po prostu animuję miniaturę lub dowolny widok tak jak iPad na ekranie głównym. Jedna rzecz, musisz zadeklarować globalny kierunek int. i za każdym razem, gdy nazwiesz tę metodę, ustawisz kierunek = 1;

-(void)shakeToDelete:(UIView *)shakeMe 
{ 

    [UIView animateWithDuration:0.1 animations:^ 
    { 
     shakeMe.transform = CGAffineTransformMakeRotation(0.05 * direction); 
    } 
        completion:^(BOOL finished) 
    { 

     direction = direction * -1; 
     [self shakeToDelete:shakeMe]; 
    }]; 
} 

/// edit Próbowałem w ten sposób i dostał pracę w moim ekranie jako próbki w załączeniu zdjęcie enter image description here

+1

Dziękuję @Umair mam to działa doskonale i łatwo. Działa świetnie – Mashhadi

+0

Jeśli musimy animować wszystkie przyciski, to powinniśmy przekazać wszystkie przyciski w tablicy i będzie działać dla wszystkich przycisków w tym widoku. to jest wspaniałe – Mashhadi

+0

@Mashhadi cześć przyjacielu pomożesz w stworzeniu tego animowanego i nie wiadomo, jak nadać animowaną miniaturę przycisku mój przycisk tworzę zgodnie z wartością obrazu tablicy i wyświetlam na przewijanej stronie -tank – Rocky

0

Lepiej należy użyć AUTOREVERSE i zapętlonych animacji, przyczyną tworzenia animacji w kółko wypełni pamięć telefonu.

Za pomocą tego kodu zostaje zatrzymana tylko jedna animacja.

view.transform = CGAffineTransformMakeRotation(-kDeleteAnimationAmplitude); 

[UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse animations:^{ 
    view.transform = CGAffineTransformMakeRotation(kDeleteAnimationAmplitude); 
} completion:nil]; 

Następnie, jeśli chcesz, aby zatrzymać animację, po prostu zadzwoń:

[view.layer removeAllAnimations]; 
Powiązane problemy