iOS CAReplicatorLayer

  • CAReplicatorLayer:复制图层
    顾名思义,复制图层就是用来复制的。它会将自己的子图层进行复制,连同子layer上的动画会一起复制。
    属性说明:
instanceCount :复制份数。(会把原始的子图层复制多少份,包括原来的一份)

instanceTransform:形变。每一份相对上一份的形变量

instanceDelay :每一份相对上一份的延迟的时间。

修改CAReplicatorLayer的颜色通道,可以改变CAReplicatorLayer的显示的样式

@property float instanceRedOffset;
@property float instanceGreenOffset;
@property float instanceBlueOffset;
@property float instanceAlphaOffset;

用这个图层,可以做颜色的渐变
属性说明:

colors :保存所有渐变的颜色,里面是CGColorRef,记得用id,让编译器以为数组里面的是OC对象。

locations :保存所有渐变的位置【0-1】

startPoint:开始渐变的点【0-1】

endPoint:结束渐变的点【0-1】

2.CAShapeLayer:形状图层
根据形状,绘制内容的图层
属性说明:

path:描述形状的路径。默认会把路径封闭,然后填充。

fillColor :填充的颜色

strokeColor:描边的颜色(如果想仅仅只描边的话,就把fillColor设为clearcolor就好)

strokeStart:开始描边的比例【0-1】

strokeEnd:结束描边的比例【0-1】

3.CAGradientLayer:渐变图层


   Do any additional setup after loading the view, typically from a nib.
   复制层
   CAReplicatorLayer *repL = [CAReplicatorLayer layer];
   repL.frame = self.contentV.bounds;
   复制5份出来.
   repL.instanceCount = 6;
   每一个形变,都是相对于它上一个复制出来的子层开始的.
   repL.instanceTransform = CATransform3DMakeTranslation(40, 0, 0);
   动画延时执行.
   repL.instanceDelay = 0.5;

   要设置复制层的颜色,原始层的颜色要设为白色.
   repL.instanceColor = [UIColor whiteColor].CGColor;
   [self.contentV.layer addSublayer:repL];

   
   添加音量震动条
   CALayer *layer = [CALayer layer];
   layer.frame = CGRectMake(0, self.contentV.bounds.size.height - 150, 30,       150);
   layer.backgroundColor = [UIColor redColor].CGColor;
   
   layer.position = CGPointMake(0, self.contentV.bounds.size.height);
   layer.anchorPoint = CGPointMake(0, 1);

   [repL addSublayer:layer];
   
   添加动画.(缩放,只缩放y方向).
   创建动画对象
   CABasicAnimation *anim = [CABasicAnimation animation];
   设置属性值.
   anim.keyPath = @"transform.scale.y";
   anim.toValue = @0;
   anim.repeatCount = MAXFLOAT;
   anim.duration = 0.5;
   anim.autoreverses = YES;
   [layer addAnimation:anim forKey:nil];

效果图:

 

 
2332815-7f44b7c2113f3545.png
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值