Мне интересны новые блочные анимации в iOS 4. То есть синтаксис
[UIView animateWithDuration:.25 delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^
{
someview.alpha = 0
} completion::^(BOOL finished)
{
focusAndExposureBox.hidden = true;
}];
У меня есть случай, когда я использую распознаватели жестов и анимирую представление в конце жеста.,У меня есть обработчик завершения, который устанавливает someview скрытым (по соображениям производительности мне нужно сделать это).Часто взаимодействие блокируется из-за установки скрытого свойства.Мое предыдущее решение состоит в том, чтобы использовать предыдущий стиль анимации с обработчиком animationDidStop
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.25];
someview.alpha = 0;
[UIView commitAnimations];
Однако я хотел бы использовать более новый стиль, если это возможно, потому что он имеет более чистый метод выполнения действий после анимациизаканчивается, и рекомендуется Apple.Итак, в настоящее время я использую этот хакер:
[UIView animateWithDuration:1 delay:0
options:UIViewAnimationOptionAllowUserInteraction animations:^{
someview.alpha = 0;
} completion:^(BOOL finished) {
[someview performSelector:@selector(setHidden:) withObject:[NSNumber numberWithBool:true] afterDelay:1];
}];
Кто-нибудь знает способ предотвратить блокировку в этом случае?