前言:今天有空把转场动画的笔记整理了一下,不废话直接上代码
pragma mark -- 1
- 我们首先在stroyboard中拖一个UIImageView,自己找几张图片放到项目中。
- 将UIImageView拖出来
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
static int _number = 1;
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//转场代码
_number++;
//这里是简单判断
if (_number > 3) {
_number = 1;
}
//我一共是设置了三张图片切换,拼接了一下字符串
NSString *imageName = [NSString stringWithFormat:@"%d",_number ];
self.imageView.image = [UIImage imageNamed:imageName];
//转场动画代码
//1.创建动画
CATransition *animation = [CATransition animation];
//2.设置转场类型
animation.type = @"suckEffect";
//转场时间
animation.duration = 0.8;
//设置转场方向
animation.subtype = kCATransitionFromBottom;
//设置动画的起始点
animation.startProgress = 0.5;//范围是0-1
//设置动画的结束点
animation.endProgress = 0.8;
//3.添加动画
[self.imageView.layer addAnimation:animation forKey:nil];
//代码实现部分就是这些了
}
pragma mark -- 2
1.@"cube":上下旋转的立体转场
2.@"push":推送转场
3.@"fade":交叉淡化过渡
4.@"moveIn":新的移到旧的之上
5.@"reveal":将旧的移开,显示新的
6.@"oglFlip":上下左右翻转效果
7.@"suckEffect":收缩效果(无方向)
8.@"pageCurl":向上翻页效果
9.@"pageUnCurl":向下翻页效果
10.@"cameraIrisHollowOpen":相机镜头打开效果(无方向)
11.@"cameraIrisHollowClose":相机镜头关闭效果(无方向)
12.@"rippleEffect":水滴效果(无方向)
######注意:转场代码和转场动画代码都必须放在一个方法里才行(当然两者是没有顺序之分的)