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


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

一个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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值