首页 > 其他 > 详细

UIView动画

时间:2016-05-21 11:23:24      阅读:138      评论:0      收藏:0      [点我收藏+]

CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果

type:动画过渡类型

subtype:动画过渡方向

startProgress:动画起点(在整体动画的百分比)

endProgress:动画终点(在整体动画的百分比)

 CATransition *ca=[CATransition animation];

    //设置过度效果

    ca.type=@"cube";

    //设置动画的过度方向(向左)

    ca.subtype=kCATransitionFromLeft;

    //设置动画的时间

    ca.duration=1.0;

    //添加动画

  self.redView.backgroundColor = [UIColor blueColor];

    [self.redView.layer addAnimation:ca forKey:nil];

 

CAAnimation的子类,可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行

animations:用来保存一组动画对象的NSArray

默认情况下,一组动画对象是同时运行的,也可以通过设置动画对象的beginTime属性来更改动画的开始时间

 

// 平移动画

    CABasicAnimation *a1 = [CABasicAnimation animation];

    a1.keyPath = @"transform.translation.y";

    a1.toValue = @(100);

    a1.duration = 1.0;

    a1.beginTime = 0;

    a1.fillMode = kCAFillModeForwards;

 

    // 缩放动画

    CABasicAnimation *a2 = [CABasicAnimation animation];

    a2.keyPath = @"transform.scale";

    a2.toValue = @(0.5);

    a2.duration = 1.0;

    a2.beginTime = 1.0;

    a2.fillMode = kCAFillModeForwards;

 

    // 旋转动画

    CABasicAnimation *a3 = [CABasicAnimation animation];

    a3.keyPath = @"transform.rotation";

    a3.toValue = @(M_PI_4);

    a3.duration = 1.0;

    a3.beginTime = 2.0;

    a3.fillMode = kCAFillModeForwards;

  

    // 组动画

    CAAnimationGroup *groupAnima = [CAAnimationGroup animation];

    groupAnima.animations = @[a1, a2, a3];

    

    //设置组动画的时间

    groupAnima.duration = 3;

    groupAnima.fillMode = kCAFillModeForwards;

    groupAnima.removedOnCompletion = NO;

    

    [self.redView.layer addAnimation:groupAnima forKey:nil];

 

UIView动画

原文:http://www.cnblogs.com/PJXWang/p/5514212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!