2014-06-20 30 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