Анимация UIView мерцает с автореверсом

Я пытаюсь анимировать индикатор в пустое поле формы, поэтому я использую метод ниже, чтобы анимировать положение, отменить анимацию и повторить . В симуляторе это работает нормально, на моем 3GS похоже, что есть мерцание прямо при вызове блока завершения. Индикатор ненадолго отображается в средней позиции, а не в исходной точке.

Есть мысли о том, почему это происходит? Спасибо.

- (void)bounceFormIndicator {
    if (formIndicator.superview == nil) {
        return;
    }

    int bounceDistance = 24;

    [UIView animateWithDuration:0.6 
                          delay:0 
                        options:UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction
                     animations:^{
                        CGRect indicatorFrame = formIndicator.frame;
                        indicatorFrame.origin.x += bounceDistance;
                        formIndicator.frame = indicatorFrame;
                     }completion:^(BOOL finished){
                        CGRect indicatorFrame = formIndicator.frame;
                        indicatorFrame.origin.x -= bounceDistance;
                        formIndicator.frame = indicatorFrame;
                        [self bounceFormIndicator];
                     }];
}
7
задан brianpartridge 18 September 2011 в 16:27
поделиться