3

我需要推視圖控制器到另一個視圖控制器。推動ViewController與模態動畫(水平翻轉)

menuVC -> VC1 ->VC2 

打算從menuVC到VC1不需要動畫,但會從VC1 VC2到從VC2 VC1到需要發生翻轉animaton。

但是,從VC2到menuVC時,不需要動畫。

我使用下面的代碼:

(從how to push a viewController with flip animation

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; 
FlashCardVC *flashCardVC = [[FlashCardVC alloc] init]; 
[self.navigationController pushViewController:flashCardVC animated:NO]; 
[UIView commitAnimations]; 

,屏幕會完全空白,當我嘗試做以上。

出了什麼問題?

回答

15

你真的應該現在使用基於塊的動畫。另外,如果您從同一故事板中的控制器實例化故事板控制器,則可以使用self.storyboard更輕鬆地訪問故事板。

-(IBAction)flipToNext:(id)sender { 
    SecondController *next = [self.storyboard instantiateViewControllerWithIdentifier:@"Next"]; 
    [self.navigationController pushViewController:next animated:NO]; 
    [UIView transitionWithView:self.navigationController.view duration:1 options:UIViewAnimationOptionTransitionFlipFromRight animations:nil completion:nil]; 
} 
+0

關於如何更新iOS 8風格轉換的答案的任何想法? – SleepsOnNewspapers 2015-01-31 04:01:33

+0

@ hsavit1,你問的是什麼樣的iOS 8樣式轉換? – rdelmar 2015-01-31 06:15:05

1

大答案: Showing pushviewcontroller animation look like presentModalViewController

(代碼)

//UIViewController *yourViewController = [[UIViewController alloc]init];</s> 

    [UIView beginAnimations: @"Showinfo"context: nil]; 
    [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; 
    [UIView setAnimationDuration:0.75]; 
    [self.navigationController pushViewController: yourViewController animated:NO]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
    [UIView commitAnimations]; 

然而,由此產生一個空白屏幕也。

相反,如果使用的是故事板,最好通過故事板實例:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle bundleForClass:[self class]]]; 

YourViewController *yourViewController = [storyboard instantiateViewControllerWithIdentifier:@"yourViewControllerID"]; 

yourViewControllerID在故事板下的身份檢查器yourviewcontroller類設置。

+0

請將此答案標記爲已接受,以便此問題不會顯示在未答覆的問題列表中。 – memmons 2013-02-10 16:41:05