запуск приложения игнорирует события взаимодействия с пользователем, когда я вызываю animateWithDuration:delay:options:animations:completion:

У меня есть кнопка, которая светится в моем приложении (подкласс UIButton). Чтобы оживить свечение, я использую следующий метод.

- (void)glow
{

    [UIView animateWithDuration:1.0f 
                          delay:0.0f 
                        options:UIViewAnimationOptionCurveEaseInOut 
                     animations:^(void){

                         if (glowingImageView_.alpha != 1.0f) {
                             [glowingImageView_ setAlpha:1.0f];
                         }
                         else {
                             [glowingImageView_ setAlpha:0.3f];
                         }

                     } 
                     completion:^(BOOL finnished){

                         if (on_) {
                             [self glow];
                         }

                     }];

}

Он отлично работает на iOS 5, но в iOS 4.3 мое приложение перестает обрабатывать любое взаимодействие с пользователем. Кто-нибудь знает, что может быть причиной этого?

Спасибо


person Darren Findlay    schedule 08.12.2011    source источник
comment
Не поддерживает iOS 4.3? В версиях iOS есть много изменений API, поэтому неудивительно, что некоторые вещи отличаются.   -  person Richard J. Ross III    schedule 08.12.2011


Ответы (1)


Согласно документам UIView:

Во время анимации взаимодействие с пользователем временно отключается для анимируемых представлений. (До iOS 5 взаимодействие с пользователем отключено для всего приложения.) Если вы хотите, чтобы пользователи могли взаимодействовать с представлениями, включите константу UIViewAnimationOptionAllowUserInteraction в параметр options.

Итак, в iOS 4.3 взаимодействие с пользователем было отключено. Это твоя проблема.

person Richard J. Ross III    schedule 08.12.2011
comment
Это серьезное изменение в поведении iOS. Этот ответ отлично справляется с тем, чтобы четко указать на этот факт. - person matt; 10.12.2011