- 核心动画
可以让View旋转,缩放,平移(主要是操作View的layer(层)属性)但是核心动画改变的位置不是真实的位置,一切都是假象所以有时候要用到其他动画,如UIView本来封装的动画,还有定时器
// 实现图片360°旋转
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];
rotationAnimation.duration = duration;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = repeat;
[view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"]; - 定时器
CADisplayLink 每秒调用60次
// 创建定时器
CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(XXX)]; // 加入运行循环
[link addToRunLoop :[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode]; // 实现XXX方法
-(void)XXX
{ // 动画方法 }***使用按钮点击(或其他事件)启用定时器时,要懒加载定时器,否则连续点击按钮的话定时器会累加。
定时器有一个停止的属性
link.pause = NO; // 定时器结束
link.pause = YES; // 定时器停止
- 加载Xib有两个方法
//1.这个要在没有与storyboard连线时用的
- (id)initWithCoder:(NSCoder *)aDecoder
{ } //2.这个在有与storyboard连线时用
- (void)awakeFromNib
{ }
否则取不到视图类里的属性 - 剪裁图片
// 一张含有多张图片的素材进行剪裁,然后使用核心动画,进行UI布局时用到
// 剪裁图片方法,第一个参数传要剪裁的Image.CGimage,第二个参数传尺寸这里要注意图片是否像素点
CGImageCreatWithIamgeInRect( , );