显示pushviewcontroller动画看起来像presentModalViewController

sat*_*mar 35 iphone animation pushviewcontroller presentmodalviewcontroller ios

是否可以显示pushViewController动画外观,presentModalViewController但具有背景功能pushViewController

ste*_*ete 57

如果你想要一个淡入淡出的动画,这种方法是有效的.

CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionFade;
transition.subtype = kCATransitionFromTop;

[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController pushViewController:gridController animated:NO];
Run Code Online (Sandbox Code Playgroud)


jit*_*roy 49

试试这个 :

UIViewController *yourViewController = [[UIViewController alloc]init];

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

  • 这段代码是否正如它所说的那样?因为它不像现在的视图控制器那样制作动画. (6认同)

Dil*_*lip 24

为了显示PushViewConttroler动画,现在下面的代码工作,

对于

 ViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
 CATransition* transition = [CATransition animation];
 transition.duration = 0.4f;
 transition.type = kCATransitionMoveIn;
 transition.subtype = kCATransitionFromTop;
 [self.navigationController.view.layer addAnimation:transition
                                                    forKey:kCATransition];
 [self.navigationController pushViewController:VC animated:NO];
Run Code Online (Sandbox Code Playgroud)

对于POP

CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
[self.navigationController.view.layer addAnimation:transition
                                            forKey:kCATransition];
[self.navigationController popViewControllerAnimated:NO];
Run Code Online (Sandbox Code Playgroud)

但是有一个问题,当它上升/下降时它显示浅黑色背景,继续
工作,一旦它完成在这里发布新代码.

  • 除了推,你还添加了流行音乐.好点子! (3认同)
  • @MeetDoshi,抱歉无法解决这个问题,但我已经通过将应用程序窗口的颜色设置为我的应用主题来克服这个问题,所以这样就不太明显了. (2认同)