Я пытаюсь использовать animationWithDuration и transitionWithView для создания одной большой анимации.Я хочу сделать что-то вроде этого:
- Переместить представление A с animationWithDuration
- После завершения шага 1 переместите представление B с animationWithDuration
- После завершения шага 2 покажитепросмотр C с transitionWithView (с OptionCurlDown)
Я действительно смотрю в сеть, и я не знаю, как исправить это.Моя проблема в том, что шаг 3 начинается всегда одновременно с шагом А. Если я делаю только шаг 1 и шаг 2, это нормально, я имею в виду, шаг 2 начинается только тогда, когда шаг 1 выполнен.Но мне не повезло с шагом 3!
Я также пытался вложить transitionWithView внутри animationWithDuration, но результат тот же,
Спасибо
Обновление
Ниже приведен сам код:
Основная функция:
[fileMenuController hide:0.2 andDelay:0.1];
[drawingToolController show:0.2 andDelay:0.2];
[penSizeMenuController showSubViewWithDuration:0.4];
fileMenuController скрыть функцию:
[UIView animateWithDuration:duration //begin animation
delay:delay
options:UIViewAnimationCurveEaseIn
animations:^{
[self.view setFrame:CGRectOffset([self.view frame], 0, -self.view.frame.size.height)];
}
completion:nil
];
DrawingToolController показать функцию:
[UIView animateWithDuration:duration //begin animation
delay:delay
options:UIViewAnimationCurveEaseIn
animations:^{
[self.view setFrame:CGRectOffset([self.view frame], 0, self.view.frame.size.height)];
}
completion:nil
];
Функция показа penSizeController:
[UIView transitionWithView:self.view
duration:duration
options:UIViewAnimationOptionTransitionCurlDown
animations:^{ [self.view addSubview:subView] ;}
completion:nil];
self.view.alpha = 1;
Показ penSizeController всегда начинается в одно и то жевремя как fileMenuController hide
Обновление для решения проблемы
Следуя идее user523234 , я сделал это:
MainFunction
[fileMenuController hide:0.2 andDelay:0.1];
[drawingToolController show:0.2 andDelay:0.2];
[self performSelector:@selector(delayedPenSizeMenuShow)withObject:nil afterDelay:0.4)
MainFunction (newFunction)
-(void) delayedPenSizeMenuShow{
[penSizeMenuController showSubViewWithDuration:0.4];
}
Таким образом, он работает, вызывается penSizeMenuController после2 анимации.Но мне интересно, это нормально с новой философией базовых блоков с ios 4.0?
Но хорошо, по крайней мере, у меня есть кое-что ..