如何完全使用animateWithDuration和transitionWithView

时间:2011-10-05 01:16:34

标签: iphone ios ipad animation uiview

我尝试使用animationWithDuration和transitionWithView创建一个大动画。我想做这样的事情:

  1. 使用animationWithDuration
  2. 移动视图A.
  3. 完成第1步后,使用animationWithDuration
  4. 移动视图B.
  5. 在第2步完成后,使用transitionWithView(使用OptionCurlDown)显示视图C
  6. 我真的看过网,我不知道如何做到这一点。我的问题是步骤3始终与步骤A同时启动。如果我只执行步骤1和步骤2,这是可以的,我的意思是,步骤2仅在步骤1完成时启动。但是我对第3步没有运气!

    我也尝试在animationWithDuration中嵌入transitionWithView,但结果是一样的,

    感谢你

    更新

    以下是代码本身:

    主要功能:

        [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 show function:

    [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 show function:

    [UIView transitionWithView:self.view 
                  duration:duration
                   options:UIViewAnimationOptionTransitionCurlDown
                animations:^{ [self.view addSubview:subView] ;}
                completion:nil];
    

    self.view.alpha = 1;

    penSizeController show 总是在 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];
        }
    

    这样,它起作用,在2个动画之后调用penSizeMenuController。但我想知道ios 4.0的新块基础理念是否合适?

    但是,至少我有一些东西..

0 个答案:

没有答案