iOS防系统转菊花动画

2019-07-18  本文已影响0人  高乔人

[self.imageView.layer.sublayers makeObjectsPerformSelector:@selector(removeFromSuperlayer)];

CAReplicatorLayer *repLayer = [CAReplicatorLayer layer];
repLayer.frame = self.imageView.bounds;
[self.imageView.layer addSublayer:repLayer];

CALayer *layer = [CALayer layer];
layer.bounds = CGRectMake(0, 0, 5, 15);

// layer.cornerRadius = 6.1/2;
// layer.masksToBounds = YES;
//变大变小
// layer.transform = CATransform3DMakeScale(1.0, 1.0, 1.0);
// 第一个layer的位置
layer.position = CGPointMake(self.imageView.frame.size.width/2, 5);
layer.backgroundColor = [UIColor colorWithHexString:@"#C71444"].CGColor;
[repLayer addSublayer:layer];

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
animation.fromValue = @0.1;
animation.toValue = @1.0;
animation.removedOnCompletion = false;
CGFloat duration = 1.2;
animation.duration = duration;
animation.repeatCount = MAXFLOAT;
[layer addAnimation:animation forKey:nil];

int count = 12;
// 360度分成12份
CGFloat angle = M_PI*2/count;
// 设置子层总数
repLayer.instanceCount = count;
// 每隔angle弧度放置一个layer层
repLayer.instanceTransform = CATransform3DMakeRotation(angle, 0, 0, 1);
// 每个子层动画延迟时长
repLayer.instanceDelay = duration/count;
上一篇 下一篇

猜你喜欢

热点阅读