码迷,mamicode.com
首页 > 其他好文 > 详细

动画效果

时间:2017-11-13 16:34:01      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:cab   value   arc   null   point   顺时针   这一   mutable   idg   

1、实现自身旋转动画效果

  不断调用自身这个函数,来实现不停的旋转

    [UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:0.1];

    [UIView setAnimationDelegate:self];

    [UIView setAnimationDidStopSelector:@selector(startAnimation)];

    angle2 += 0.5;

    circular2.layer.anchorPoint = CGPointMake(0.5,0.5);//以右下角为原点转,(0,0)是左上角转,(0.5,0,5)心中间转,其它以此类推

    circular2.transform = CGAffineTransformMakeRotation(angle2 * (-M_PI / 180.0f));

 //不断调用自身方法,实现无限循环旋转,则不需要写下边这一句,如果只执行一次,要加上提交动画

 [UIView commitAnimations];

2、实现图片渐变成另一张图片的效果

先定义imagyer   

@property(nonatomic,strong) CALayer *imageLayer;

 实现并添加layer

 self.imageLayer.frame = CGRectMake(40, 40, BILIW(350), BILIH(350));

 [self.layer addSublayer:self.imageLayer];

设置图片渐变效果

   CABasicAnimation *contentsAnimation = [CABasicAnimation animationWithKeyPath:@"contents"];

    contentsAnimation.fromValue = self.imageLayer.contents;

    contentsAnimation.toValue = (__bridgeid)(imageImg.CGImage);

    contentsAnimation.duration = AnimationTime;

    //设定layer动画结束之后的值,(必须设定,否则会恢复到动画之前的状态)

    self.imageLayer.contents = (__bridgeid)(imageImg.CGImage);

    //提交动画;

    [self.imageLayer addAnimation:contentsAnimation forKey:nil];

3、实现对象沿轨迹运动动画效果

  CAKeyframeAnimation创建动画原理,会复制一个新的对象来进行动画运动,但是对象原始的位置不会进行改变

    CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];

    pathAnimation.calculationMode = kCAAnimationPaced;

    pathAnimation.removedOnCompletion = NO;//不删除复制的对象

    pathAnimation.fillMode = kCAFillModeForwards;//停留在当前位置

    pathAnimation.duration =AnimationTime;

//    pathAnimation.repeatCount = 1;

//创建动画的运动轨迹

    CGMutablePathRef curvedPath = CGPathCreateMutable();

    //最后一个参数way控制旋转方向,yes,逆时针,no顺时针

    CGPathAddArc(curvedPath, NULL, BILIW(250), BILIW(250), BILIW(175), startAngle, endAngle, way);

    pathAnimation.path = curvedPath;

    CGPathRelease(curvedPath);

    [ringV.layer addAnimation:pathAnimation forKey:@"keyAnimation"];

动画效果

标签:cab   value   arc   null   point   顺时针   这一   mutable   idg   

原文地址:http://www.cnblogs.com/shizhiliblog/p/7826245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!