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

У меня есть несколько UIImageView в 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 , так что это нормально. Но так ...

  1. Как мне удалить анимацию UIView из этих UIImageView ?
  2. Могу ли я привязать это действие к пользователю, нажимающему кнопку домой на своем устройстве?
26
задан Jules 26 August 2011 в 12:27
поделиться