Подтвердить что ты не робот

Как остановить анимацию UIView

У меня есть несколько UIImageViews в пределах UIScrollView, которые я хочу покачивать, когда пользователь нажимает один из них. Подобно поведению, которое вы получаете, когда вы долго нажимаете значок в своем меню iPad/iPhone.

Итак, у меня есть следующее:

- (void)startWiggling {

    for (UIImageView *touchView in [scrollView subviews]) {

        [UIView beginAnimations:@"wiggle" context:nil];
        [UIView setAnimationDuration:0.1];
        [UIView setAnimationRepeatAutoreverses:YES];
        [UIView setAnimationRepeatCount:FLT_MAX];

        //wiggle 1 degree both sides
        touchView.transform = CGAffineTransformMakeRotation();
        touchView.transform = CGAffineTransformMakeRotation(-0.0174532925);

        [UIView commitAnimations];

    }    

}

- (void)stopWiggling {
    NSLog(@"Stop wiggling");    
}

Это прекрасно работает. Проблема в том, что... Как я могу сделать остановить зависание после того, как пользователь нажал кнопку? У меня есть кнопка, связанная с ней и т.д., И она достигает метода stopWiggling, так что отлично. Но так...

  • Как удалить анимацию UIView из этих UIImageViews?
  • Могу ли я привязать это действие к пользователю, нажав кнопку home на своем устройстве?
4b9b3361

Ответ 1

 #import <QuartzCore/QuartzCore.h>

затем

 [myView.layer removeAllAnimations];

или

[self.view.layer removeAllAnimations];