实现的主要代码如下:
- CATransition *transition = [CATransition animation];
- transition.duration = 1.0f;
- transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
- transition.type = @"cube";
- transition.subtype = kCATransitionFromRight;
- transition.delegate = self;
- [self.navigationController.view.layer addAnimation:transition forKey:nil];
-
- FirstViewController *firstViewController = [[DemoViewController alloc]init];
- [self.navigationController pushViewController: firstViewController animated:YES];
如果只是应用淡入淡出效果,不要navigation push的动画,可以将animated设置为NO,即可实现。
其中的动画类型有:
- animation.type = kCATransitionFade;
-
- animation.type = kCATransitionPush;
-
- animation.type = kCATransitionReveal;
-
- animation.type = kCATransitionMoveIn;
-
- animation.type = @"cube";
-
- animation.type = @"suckEffect";
-
-
- animation.type = @"oglFlip";
-
-
- animation.type = @"rippleEffect";
-
- animation.type = @"pageCurl";
-
- animation.type = @"pageUnCurl";
-
- animation.type = @"cameraIrisHollowOpen";
-
- animation.type = @"cameraIrisHollowClose";
转自:http://blog.youkuaiyun.com/ralbatr/article/details/22039233