IOS动画

作者: FengxinLi | 来源:发表于2015-04-11 11:55 被阅读1523次

    我也是看了http://d.cocoachina.com/code/detail/290546 上面的例子,然后自己运行总结的。如有不对的地方还请指出。

    UIView的基本动画

    [UIViewanimateWithDuration:1.fanimations:^

    {

    self.demoImgView.transform=CGAffineTransformMakeRotation(M_PI/2);//顺时针旋转180度

    }

    completion:^(BOOLfinished)

    {

    self.demoImgView.transform=CGAffineTransformIdentity;//清除以前的动画设置虽然旋转了180度,最后还是回到原来的位置

    }];

    CABasicAnimation动画

    CABasicAnimation*rotation = [CABasicAnimationanimationWithKeyPath:@"transform.rotation"];

    rotation.fromValue=@(0); rotation.toValue=@(M_PI);//180度

    rotation.duration=5.f; rotation.repeatCount=0;

    rotation.timingFunction= [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionLinear];

    rotation.fillMode=kCAFillModeForwards;//fillModeremovedOnCompletion属性是要一起用才有效果的他们是控制动画结束之后位置的。rotation.removedOnCompletion=YES回到最初动画开始位置,rotation.removedOnCompletion = NO;动画结束的位置在哪就在那

    rotation.removedOnCompletion=NO;

    //self.demoImgView.transform = CGAffineTransformMakeRotation(M_PI*2);//动画完了之后停留的位置,

    [self.demoImgView.layeraddAnimation:rotationforKey:@"an_roate"];

    绕X轴旋转的动画

    CABasicAnimation*TransformAnim = [CABasicAnimationanimationWithKeyPath:@"transform"];

    TransformAnim.fromValue= [NSValuevalueWithCATransform3D:CATransform3DIdentity];

    TransformAnim.toValue= [NSValuevalueWithCATransform3D:CATransform3DMakeRotation(M_PI,1,0,0)];

    TransformAnim.duration=3;

    TransformAnim.cumulative=NO;//cumulativerepeatCount这二个属性也是有关联的repeatCount是重复的次数。cumulative=YES的话,从上一次动画结束的位置继续动画。cumulative=NO的话又回到最开始的位置再次动画。

    TransformAnim.repeatCount=2;

    [self.demoImgView.layeraddAnimation:TransformAnimforKey:nil];

    相关文章

      网友评论

        本文标题:IOS动画

        本文链接:https://www.haomeiwen.com/subject/cjbtfttx.html