У меня есть ViewController с кучей UIImageViews, которые мне нужно отправить на передний план и оживить к центру представления.
Я попытался вызвать метод bringSubviewToFront перед тем, как нарисовать анимацию UIView, и, похоже, что это происходит, так это то, что представление отправляется в верхнюю часть стека, но анимация не выполняется (даже если журнал обработчика завершения показывает, как будто анимация DID).
Во второй раз я нажимаю кнопку, которая запускает анимацию (учитывая, что на этот раз представление уже находится в верхнем индексе, анимация происходит так, как должна)
Вот мой код:
- (void)beginAnimationWithSelectedCountry:(UIView *)countryView
{
if (!countryView) return;
[self.view bringSubviewToFront:countryView];
[UIView animateWithDuration:0.6f delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
countryView.center = CGPointMake(self.view.center.x, self.view.center.y);
} completion:^(BOOL finished) {
NSLog(@"Animation complete");
}];
}
Любые мысли? Я был в этом часами > . <
Спасибо
EDIT: Если комментировать outSubviewToFront, код безупречно работает с анимацией (кроме представления под некоторыми другими представлениями), поэтому я уверен, что проблема связана с линией:
[self.view bringSubviewToFront:countryView];
Вот скриншот того, что у меня есть в настоящее время, которое может пролить свет на проблему: http://d.pr/i/PKoa