二月中上班,开始开年需求,现在到三月初算是基本完成,也在测试之前趁着有那么一点空闲时间和精力记录下一些开发中遇到的问题。
这次记录下的是一个简单的动画效果实现。当时时间比较紧,用了一个取巧的动画实现(实际原因是没看懂CA动画怎么用),因此在这里记录下来,同时研究一下CA动画。
需求分析
(不知道怎么设置成循环,似乎只能刷新看一次)
这个动画效果分为两部分,要求其实有三:
1.图案从小到大的弹出(从0-X秒)
2.总共三张图片的循环播放(从0-N秒,X<N)
3.动画播放一定时间后消失(N秒后消失)
取巧实现
先上我临时想出的方法
1.轮播图片的动画效果其实UIImageView就能实现
UIImageView *imageView = [[UIImageView alloc]initWithFrame:
CGRectMake((rewardFinsihView.frame.size.width)/2, (rewardFinsihView.frame.size.height)/2, 0.f, 0.f)];
imageView.backgroundColor = [UIColor clearColor];
imageView.animationImages=imageArray;//imageArray就是一个包含UIImage数据的数组
imageView.animationDuration=0.4;
imageView.animationRepeatCount=5;
[rewardFinsihView addSubview:imageView];//rewardFinsihView就是背景view
[imageView startAnimating];
参数都很好理解:
animationImages就是要轮播的图片集
animationDuration就是轮播一次的时间(以秒为单位)
animationRepeatCount就是轮播次数
startAnimating开始动画
2.如果第一步实现决定使用UIImageView,那么弹出效果实际上就是一个UIImageView从小变大。
注意第一步设置imageView的frame.size为0,frame.origin为背景中心
接下来的代码就是
[UIView animateWithDuration:0.3
animati