iOS-Animation学习2-CABasicAnimation以及CAAnimationGroup的基本用法

来源:互联网 发布:网络监控工作总结 编辑:程序博客网 时间:2024/05/24 06:11


话不多说,这个方法实现的效果是

一个label 从最底下 以及透明度为0开始  慢慢往上滑动  最后停下。---另外  我不知道模拟器怎么录像。  各有什么敲打

-(void)labelinAnimation{
//position为指定的keypath。  即layer中的可动画属性(animatable property)这行代码就是指定我要对控件的position这个属性进行动画.
//除了CABasicAnimation ,还有CAKeyframeAnimation 以及CAAnimationGroup.
    CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"position"];
//设置动画的持续时间    basic.duration = 3.0f;
//对应之前的position .fromValue 为:position的起始位置,需要使用NSValue    basic.fromValue = [NSValue valueWithCGPoint:CGPointMake(self.label.center.x, self.view.bounds.size.height+10)];
//.toValue:position动画的结束位置.    basic.toValue = [NSValue valueWithCGPoint:CGPointMake(self.label.center.x,100)];
[self.label.layer addAnimation:basic forKey:@"posit"];   动画添加至layer层.完成//组合动画,初始化第二个动画,此次的keypath 是透明度    CABasicAnimation *basic1 = [CABasicAnimation animationWithKeyPath:@"opacity"];    basic1.duration = 3.0f;
//从无到有    basic1.fromValue = @(0);    basic1.toValue = @(1);    //将上述两个动画组合成一个动画。    CAAnimationGroup *group = [CAAnimationGroup animation];
//组合两个动画    [group setAnimations:@[basic,basic1]];
//当使用组合动画之后,持续时间 等信息以group的为主
    group.duration = 3.0f;
/使动画停留在执行后的位置,最好与group.fillMode=kCAFillModeForwards ;同用
group.removedOnCompletion = NO;

//重复次数    group.repeatCount = 0;
//使动画停留在执行后的位置,最好与removeOnCompletion同用    group.fillMode=kCAFillModeForwards ;    [self.label.layer addAnimation:group forKey:@"posit"];}
完成。   




0 0
原创粉丝点击