弹框动画-CATransform3D放大缩小

弹框动画原理#

利用CATransform3D 4×4矩阵属性实现放大,
CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy, CGFloat sz)
sx :表示x轴偏移
sy:表示y轴偏移位置
sz :表示z轴偏移

苹果手机的x轴:x越大,x---->向右越大
y轴:y越大,y------>向下越大
z轴:z越大, z ---->越向外,接近屏幕
所以要实现放大缩小动画,只需要改变x.y值就可以

代码实现#

//弹出放大-缩小效果
- (void) shakeToShow:(UIView)aView{
CAKeyframeAnimation
animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
animation.duration = 1.0;
NSMutableArray *values = [NSMutableArray array];
[values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]];
[values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.5, 1.5, 1.0)]];
[values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9 , 0.9, 1.0)]];
[values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
animation.values = values;
[aView.layer addAnimation:animation forKey:nil];
}

参数链接:CATransform3D 讲解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,573评论 6 30
  • iOS动画篇之CoreAnimation动画 9月 22, 2016发布在Objective-C App如果想被大...
    白水灬煮一切阅读 2,135评论 0 0
  • - (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *...
    七里田间的守望者阅读 1,453评论 0 4
  • 之前钱包也会发出“爸爸妈妈”的音,不过都是偶尔说一句,昨天晚上,8个月14天的娃娃突然连串的喊“妈妈”...
    于小勇呀阅读 193评论 0 0
  • 去趟北极吻住你 是激情肝脑涂地 还没有找到我的核苷酸 已经迈入黑暗 寻找我的葡萄干 捣碎倒影 榨成西瓜汁一口下肚 ...
    胤女阅读 285评论 0 0