您的位置:首页 > 移动开发 > IOS开发

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

2015-08-21 15:55 543 查看
话不多说,这个方法实现的效果是

一个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"];
}
完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: