2013-02-11 100 views
1

我目前正在通過初學者指南來編程ios6。直到現在,當我試圖在兩個視圖之間來回切換時,它一直很好。這個練習的最終目標是看起來好像每個視圖都在另一個視圖的背面(像一枚硬幣/一張紙的兩面)。動畫視圖之間切換的轉換

但是,當我使用書中給出的代碼時,只有一個動畫激活,但書中說代碼應該適用於兩者。

我已經多次對我的代碼進行過多次檢查,以確保我已經完成了正確的工作,並且我無法區分我擁有的代碼與本書中的代碼之間的區別。我知道這很簡單,我正在做(或者更可能不做),但我沒有經驗來找到它。

任何幫助將非常感激。

代碼:

- (IBAction)switchViews:(id)sender 
{ 
[UIView beginAnimations:@"View Flip" context:nil]; 
[UIView setAnimationDuration:1.25]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 

if (self.yellowViewController.view.superview == nil) { 
    if (self.yellowViewController == nil) { 
     self.yellowViewController = [[BIDYellowViewController alloc] initWithNibName:@"YellowView" bundle:nil]; 
    } 

    // This one doesn't work 
    [UIView setAnimationTransition:UIViewAnimationOptionTransitionFlipFromRight forView:self.view cache:YES]; 

    [self.blueViewController.view removeFromSuperview]; 
    [self.view insertSubview:self.yellowViewController.view atIndex:0]; 
} 
else 
{ 
    if (self.blueViewController == nil) { 
     self.blueViewController = [[BIDBlueViewController alloc] initWithNibName:@"BlueView" bundle:nil]; 
    } 

    // This one works 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; 

    [self.yellowViewController.view removeFromSuperview]; 
    [self.view insertSubview:self.blueViewController.view atIndex:0]; 
} 
[UIView commitAnimations]; 
} 

回答

2

它,因爲你使用UIViewAnimationOptionTransitionFlipFromRight代替UIViewAnimationTransitionFlipFromRight

+0

我覺得自己像個白癡,一直試圖弄明白了一個小時,我張貼之前。謝謝 – Ian 2013-02-11 14:59:58