在有些广播电台或者是音乐中,不需要或者不想用音乐光盘转动的时候可以用到音乐震动条,来让画面变得不单调.
//创建复制层
CAReplicatorLayer*relayer = [CAReplicatorLayerlayer];
//设置位置为控制器view的中心点
relayer.position=self.view.center;
//设置复制层的大小
relayer.bounds=CGRectMake(0,0,250,250);
//设置背景颜色
relayer.backgroundColor= [UIColorlightGrayColor].CGColor;
//将复制层添加到控制器的layer上
[self.view.layeraddSublayer:relayer];
//创建震动条
CALayer*subLayer = [[CALayeralloc]init];
//设置背景颜色
subLayer.backgroundColor= [UIColoryellowColor].CGColor;
//设置宽高.
subLayer.bounds=CGRectMake(0,0,30,150);
//设置震动层的位置
subLayer.position=CGPointMake(40,200);
//给定震动层的锚点
subLayer.anchorPoint=CGPointMake(0.5,1);
//将需要被赋值的震动层添加到复制层
[relayeraddSublayer:subLayer];
//创建关键帧动画
CABasicAnimation*animation = [CABasicAnimationanimationWithKeyPath:@"transform.scale.y"];
//结束值
animation.toValue=@0.1;
//动画结束时是否执行逆动画
animation.autoreverses=YES;
//重复次数(无限)
animation.repeatCount=MAXFLOAT;
//添加到震动层
[subLayeraddAnimation:animationforKey:nil];
//设置复制层需要赋值的个数
relayer.instanceCount=5;
//设置赋值出来的子层的位置
relayer.instanceTransform=CATransform3DMakeTranslation(40,0,0);
//执行动画的延迟
relayer.instanceDelay=0.2;
//颜色偏移量范围(0-1)
relayer.instanceGreenOffset= -0.8;