2011-03-30 48 views
3

我有一個翻轉動畫這是這樣的:如何在彈出視圖控制器上做翻頁動畫?

Picker *picker = [[Picker alloc] init]; 

      [self.navigationController pushViewController:picker animated:NO]; 

      [UIView animateWithDuration:0.5 
          animations:^{ 
           [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
           } 
          completion:^(BOOL finished){ 
          }]; 
      [picker release]; 

這完美的作品。但是,當我想要做popViewController回來,像這樣:

[self.navigationController popViewControllerAnimated:NO]; 

    [UIView animateWithDuration:0.5 
        animations:^{ 

         [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
        } 
        completion:^(BOOL finished){ 
        }]; 

但這不起作用,只是回到沒有動畫的視圖。

回答

6

你試過popViewControllerAnimated動畫結束了嗎?

+0

這很好,謝謝。爲了將來的參考,我沒有把它完成,我把它放在那之前。 – Andrew 2011-03-30 18:10:32

+0

另外,我將它改爲動畫:YES來阻止它滯後。不知何故,這工作。 – Andrew 2011-03-30 18:15:52

+0

@Andrew你有沒有想過爲什麼這項工作,如果放置在動畫^ {},而不是在完成^()?我很高興這種方法對我來說,但我真的很想明白爲什麼它會這樣工作? – pnizzle 2012-07-23 06:24:05

0

將popViewController調用放入完成塊中,因此它首先進行動畫處理,然後彈出。

相關問題