当控制器按下iPhone时翻转动画

cha*_*cha 10 iphone animation push rotation flip

我环顾四周,没找到我正在寻找的东西.

有没有办法在推动视图控制器时获得翻转动画?

我读到你可以通过使用模态视图控制器来改变动画,但是AFAIK模态视图的动画是从下到上,这不是我想要的.有没有办法以某种方式获得翻转动画?

Joh*_*ohn 51

这样的事情应该有效

[UIView beginAnimations:@"animation" context:nil];
[self.navigationController pushViewController: yourviewcontroller animated:NO]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

不要忘记在调用pushViewController时将动画设置为NO

  • 你可以使用setAnimationDuration来指定持续时间,如[UIView setAnimationDuration:1.5]; (4认同)
  • 0.7似乎是正确的,如果你想要它匹配天气应用程序. (3认同)

iKT*_*iKT 15

这也适用于.. iOS 4.0 and greater

[UIView  transitionWithView:self.navigationController.view duration:0.8  options:UIViewAnimationOptionTransitionFlipFromLeft
                             animations:^(void) {
                                 BOOL oldState = [UIView areAnimationsEnabled];
                                 [UIView setAnimationsEnabled:NO];
                                 [self.navigationController pushViewController:viewController animated:YES];
                                 [UIView setAnimationsEnabled:oldState];
                             }
                             completion:nil];
Run Code Online (Sandbox Code Playgroud)


小智 5

- (void)viewWillDisappear:(BOOL)animated {
[UIView beginAnimations:@"animation2" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration: 0.7];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; }
Run Code Online (Sandbox Code Playgroud)

在新的viewcontroller中,当按下工具栏中的后退按钮时,它会以相同的方式向后翻转(而不是向左滑动) - 确保在此处启用动画,例如,如果您使用自定义按钮弹出堆栈,请使用:

- (void) backToPrevious: (id) sender 
{
    //[self.navigationController popViewControllerAnimated:YES];
    [self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)


Ole*_*ann 1

对于模态呈现的视图控制器,您可以使用属性更改动画modalTransitionStyle。AFAIK,没有办法改变导航控制器的推送动画(除了从头开始重建 UINavigationController )。

  • 经过长时间的寻找,我得到了这个 **github** 链接。它对我有用 https://github.com/devindoty/iOS-Transition-Pack (2认同)