A easy way to set custom transition
###截图
使用 cocopods ( Using CocoaPods)
pod 'CCTransition', '~> 1.0.0'
常规使用 (Using narmal)
将 CCTransition 文件夹拖入项目
创建一个 CCNavigationController
实例
给控制器设置一种转场类型
CCNavigationController *navigationController = [[CCNavigationController alloc] initWithRootViewController:viewController];
CCLayerAnimation *layerAnimation = [[CCLayerAnimation alloc] initWithType:CCLayerAnimationCover];
navigationController.animationController = layerAnimation;
如果你是用 storyBord, 请确保你的控制器被 CCNavigationController
管理
viewDidLoad
添加以下代码 //初始化控制器
CCNavigationController *fancyNavigationController = (CCNavigationController *)self.navigationController;
//初始化动画效果
CCLayerAnimation *layerAnimation = [[CCLayerAnimation alloc] initWithType:CCLayerAnimationCover];
//设置动画效果
fancyNavigationController.animationController = layerAnimation;
确保你用来 modal 的控制器是 CCViewController
的子类
//初始化用来 modal 操作控制器 一般是 self
CCMainViewController *mainController = [[CCMainViewController alloc] initWithNibName:@"CCMainViewController" bundle:nil];
//初始化动画效果
CCSlideAnimation *slideAnimation = [[CCSlideAnimation alloc] init];
slideAnimation.type = CCSlideAnimationFromTop;
//设置动画效果
mainController.animationController = slideAnimation;
//初始化被 Modal 出的控制器
CCModalViewController *modalController = [[CCModalViewController alloc] initWithNibName:@"CCModalViewController" bundle:nil];
//设置代理
modalController.transitioningDelegate = mainController.transitioningDelegate;
//进行 Modal 操作
[modalController.navigationController presentViewController:viewController animated:YES completion:nil];
navigationController.interactionEnabled = YES;
mainViewController.interactionEnabled = YES;