Как использовать animationWithDuration и transitionWithView в целом - PullRequest
0 голосов
/ 05 октября 2011

Я пытаюсь использовать animationWithDuration и transitionWithView для создания одной большой анимации.Я хочу сделать что-то вроде этого:

  1. Переместить представление A с animationWithDuration
  2. После завершения шага 1 переместите представление B с animationWithDuration
  3. После завершения шага 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?

Но хорошо, по крайней мере, у меня есть кое-что ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...