iPhone UIAnimation с использованием блоков не работает - PullRequest
0 голосов
/ 18 марта 2012

Как подсказывает этот популярный ответ, я использую блоки для анимации представлений в соответствии с кодом:

UIView *whiteout = [[UIView alloc] initWithFrame:self.view.frame];
whiteout.backgroundColor = [UIColor blackColor];
[self.view addSubview:whiteout];
[UIView transitionWithView:self.view duration:2.0 options:UIViewAnimationTransitionFlipFromRight animations:^{ [whiteout removeFromSuperview]; } completion:nil];

Однако анимация не происходит и whiteout просмотр удаляется сразу.Что мне здесь не хватает ??

1 Ответ

3 голосов
/ 18 марта 2012

Удаление из суперпредставления не анимируемо.Если вы хотите затемнить свое представление, попробуйте установить его альфа в 0, а затем удалите его по завершении:

[UIView transitionWithView:self.view duration:2.0 options:UIViewAnimationTransitionFlipFromRight animations:^{
    whiteout.alpha = 0.0;
} completion:^(BOOL completion){
    [whiteout removeFromSuperview];
}];
...