使用模态动画推送ViewController(水平翻转)

sta*_*lew 3 iphone objective-c uiviewcontroller modalviewcontroller ios

我需要将视图控制器推送到另一个视图控制器.

menuVC -> VC1 ->VC2
Run Code Online (Sandbox Code Playgroud)

从menuVC到VC1不需要动画,但是从VC1到VC2以及从VC2到VC1需要翻转动画.

但是,从VC2转到menuVC时,不需要动画.

我使用以下代码:

(从如何推动带有翻转动画的viewController)

[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];
Run Code Online (Sandbox Code Playgroud)

当我尝试执行上述操作时,屏幕完全空白.

怎么了?

rde*_*mar 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];
}
Run Code Online (Sandbox Code Playgroud)