夜梦程序,日实现(下载动画)
来源:互联网 发布:北京大土豆 知乎 编辑:程序博客网 时间:2024/05/08 09:58
最近加班太忙了,晚上经常加班,所以晚上会经常梦到在写代码,昨晚在睡觉的时候梦见我去一个商场买衣服,一个售货员用ipad 给我推荐他们的衣服,用的那个app 很精致,一开始就是一个动画,刚好前几天在我们的项目中也有类似的功能,但是没有这个app 的 动画好看,当时我就很兴奋,然后一大早起来原来是做梦,但是梦里面的动画也不难实现,今天就抽空写了下。也用到了第三方的一个类。主要动画就是一个下载进度条,然后有文件从源文件夹飞到目的文件夹, 具体主要代码是:
- (void)changeProgressValue{ float progressValue = progressView.progress; progressValue += 0.01f; if (progressValue > 1) { progressValue = 0; } if ((int)(progressValue * 100)%3==0) { [self tranAction]; } [progressValueLabel setText:[NSString stringWithFormat:@"%.0f%%", (progressValue * 100)]]; [progressView setProgress:progressValue];} - (void)tranAction{ CGPoint fromPoint = imageView.center; //路径曲线 UIBezierPath *movePath = [UIBezierPath bezierPath]; [movePath moveToPoint:fromPoint]; CGPoint toPoint = CGPointMake(300, 570); [movePath addQuadCurveToPoint:toPoint controlPoint:CGPointMake(300,0)]; //关键帧 CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"]; moveAnim.path = movePath.CGPath; moveAnim.removedOnCompletion = YES; //旋转变化 CABasicAnimation *scaleAnim = [CABasicAnimation animationWithKeyPath:@"transform"]; scaleAnim.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity]; //x,y轴缩小到0.1,Z 轴不变 scaleAnim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.3, 0.3, 1.0)]; scaleAnim.removedOnCompletion = YES; //透明度变化 CABasicAnimation *opacityAnim = [CABasicAnimation animationWithKeyPath:@"alpha"]; opacityAnim.fromValue = [NSNumber numberWithFloat:1.0]; opacityAnim.toValue = [NSNumber numberWithFloat:0.4]; opacityAnim.removedOnCompletion = YES; //关键帧,旋转,透明度组合起来执行 CAAnimationGroup *animGroup = [CAAnimationGroup animation]; animGroup.animations = [NSArray arrayWithObjects:moveAnim, scaleAnim,opacityAnim, nil]; animGroup.duration = 1; [imageView.layer addAnimation:animGroup forKey:nil]; }
效果图:
源代码下载地址
- 夜梦程序,日实现(下载动画)
- Android:下载动画,图标飞入下载管理动画实现
- 小程序实现渐变动画
- B站客户端下载动画效果实现
- python3+PyQt5 动画和复杂形状--实现千足蛇动画程序
- 微信小程序开发之animation动画实现
- GoogleMap 卫片下载程序 java版 原创下载〔11月11日更新〕
- CSS3第三日--动画
- android 状态栏及通知栏中的下载动画效果实现
- 用VB实现网页下载跟踪程序
- 用C# Builder实现文件下载程序
- PHP实现文件安全下载的程序
- JAVA实现多任务下载程序
- 程序实现下载并安装package
- STC51单片机实现蓝牙无线下载程序
- Web端程序实现文件下载
- STC12单片机实现自动下载程序
- 程序动画
- 21-计算出两个日期相差的天数
- C# 概念
- CentOS 6.4 安装无线网卡驱动
- hdu2222 AC自动机入门 指针型模板
- 如何保证数据库读写事务
- 夜梦程序,日实现(下载动画)
- SD卡文件浏览器
- js setTimeout而不是setTimerOut
- android ViewFlipper的使用
- 高通平台音频调试心得
- 回来继续博客了
- struts2基本知识点—HelloWorld篇
- 考试系统总结
- 黑马程序员_网络编程