2014-06-20 156 views
2

ViewBViewCViewA的子视图。说ViewB当前是ViewC的基础上。如图所示,我想将ViewC置顶翻转动画。我使用UIView类方法(void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion。但是,ViewAviewB一起翻转,这不是所需的行为。期望的行为仅适用于ViewB翻转,而ViewC现在处于顶层。任何想法如何实现所需的行为? enter image description hereUIView过渡动画

+0

您可以张贴实际的代码,你已经使用了来自和查看..? –

+2

对此进行简单修复(不更改代码)是在执行'transitionFromView:toView:duration:options:completion:'之前将另外'容器'视图中的两个视图分组为相同大小。此外,如果您只想显示/隐藏视图(而不是在层次结构中添加/删除它们),则可以在选项中添加“UIViewAnimationOptionShowHideTransitionViews”。 – Alladinian

+0

@allainian,解决了我的问题。谢谢!!! – Loozie

回答

6

试试这个:

-(void)FilpAnimation 
    { 
     viewObjB.alpha=1.0; 
     viewObjB.hidden=NO; 
     [UIView transitionWithView:viewObjB 
          duration:1.5 
          options:UIViewAnimationOptionTransitionFlipFromRight 
         animations:^{ 
          viewObjB.hidden=YES; 
          viewObjB.alpha=0.0; 
         } completion:nil]; 

     viewObjC.alpha=0.0; 
     viewObjC.hidden=YES; 
     [UIView transitionWithView:viewObjC 
          duration:1.5 
          options:UIViewAnimationOptionTransitionFlipFromLeft 
         animations:^{ 
          viewObjC.hidden=NO; 
          viewObjC.alpha=1.0; 
         } completion:nil];  
    } 
+1

感谢您的回复。我实施了@阿拉丁尼亚的建议,但我认为你的工作也会如此。 – Loozie