调用
// CATransition动画实现 [self pushWithAnimationType:@"fade"];
- (void)pushWithAnimationType:(NSString *)typeStr { __weak typeof (self) weakself = self; [weakself.navigationController.view.layer addAnimation:[self createTransitionAnimation:typeStr] forKey:nil]; } #pragma CATransition动画实现 /** 动画类型 fade 淡出效果 moveIn 新视图移动到旧视图 push 新视图推出旧视图 reveal 移开旧视图 cube 立方体翻转效果 oglFlip 翻转效果 suckEffect 收缩效果 rippleEffect 水滴波纹效果 pageCurl 向下翻页 pageUnCurl 向上翻页 CameraIrisHollowOpen, 开镜头 CameraIrisHollowClose, 关镜头 CurlDown, 下翻页 CurlUp, 上翻页 FlipFromLeft, 左翻转 FlipFromRight, 右翻转 */ -(CATransition *)createTransitionAnimation:(NSString*)typeStr { //切换之前添加动画效果 //后面知识: Core Animation 核心动画 //不要写成: CATransaction //创建CATransition动画对象 CATransition *animation = [CATransition animation]; //设置动画的类型: animation.type = typeStr; //设置动画的方向 animation.subtype = kCATransitionFromBottom; //设置动画的持续时间 animation.duration = 1.5; //设置动画速率(可变的) animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; //动画添加到切换的过程中 return animation; }