动画在网上有很好的学习资料,这里列举几篇写的比较好的。动画的实现本质上原理比较简单,不过需要的是细心,耐心,以及和UI的良好沟通。
UIImageView的动画
比如开场动画,经常会用到。比较简单的是设置UIImageView
的动画属性。这个有点像视频播放。
@property (nullable, nonatomic, copy) NSArray<UIImage *> *animationImages; // The array must contain UIImages. Setting hides the single image. default is nil
@property (nonatomic) NSTimeInterval animationDuration; // for one cycle of images. default is number of images * 1/30th of a second (i.e. 30 fps)
@property (nonatomic) NSInteger animationRepeatCount; // 0 means infinite (default is 0)
这样做的缺点一般需要30~60
张png
图片,内存占用比较大。有时候,干脆用视频播放代替了。
UIView动画
提供的block
形式的API
非常好用,可以满足大多数的动画需求。这个应该成为平时实现动画的主要方式。
Core Animation
本质上UIView
动画都来自这里,直接用这个,更灵活一点。有必要的时候,可以考虑用这个来实现效果。