UINavigationcontroller页面跳转动画

   第一种方式:

    MyViewController *my=[[MyViewController alloc] init];
    [self.navigationController pushViewController:my animated:NO];
     //因为一个事件循环机制中
    CATransition *tran=[CATransition animation];
    tran.duration=0.75;
    tran.type=@"cameraIrisHollowOpen";
    tran.subtype=kCATransitionFromLeft;
    [self.navigationController.view.layer addAnimation:tran forKey:nil];


第二种方式:
MyViewController *my=[[MyViewController alloc] init];
[UIView transitionWithView:self.navigationController.view duration:0.5 options:UIViewAnimationOptionTransitionCurlUp animations:^{
        
        [self.navigationController pushViewController:my animated:NO];
    } completion:^(BOOL finished) {
        
    }];
  
第三种方式:
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view  cache:YES];
    MyViewController *my=[[MyViewController alloc] init];
   [self.navigationController pushViewController:my animated:NO];
    [UIView commitAnimations];


原文地址:https://www.cnblogs.com/ranger-jlu/p/3884564.html