生成波浪形扫描效果

  最近弄个波浪形扫描效果,搞了一天也算是有点效果


   UIColor *stroke = [UIColor whiteColor];

    UIView *view = _animateView;

   

    CGRect pathFrame = CGRectMake(-CGRectGetMidX(view.bounds), -CGRectGetMidY(view.bounds), view.bounds.size.width, view.bounds.size.height);

    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:pathFrame cornerRadius:view.layer.cornerRadius];

    CGPoint shapePosition = [self.view convertPoint:view.center fromView:_animateBackView];

   

    CAShapeLayer *circleShape = [CAShapeLayer layer];

    circleShape.path = path.CGPath;

    circleShape.position = shapePosition;

    circleShape.fillColor = [UIColor clearColor].CGColor;

    circleShape.opacity = 0;

    circleShape.strokeColor = stroke.CGColor;

    circleShape.lineWidth = 1.f;

    [self.view.layer addSublayer:circleShape];

   

    CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

    scaleAnimation.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];

    scaleAnimation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(6.5, 2.5, 1)]; //scale(2.5,2.5,1);

   

    CABasicAnimation *alphaAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];

    alphaAnimation.fromValue = @1;

    alphaAnimation.toValue = @0;

   

    CAAnimationGroup *animation = [CAAnimationGroup animation];

    animation.animations = @[scaleAnimation,alphaAnimation];

    animation.duration = 0.8f;

    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];

   [circleShape addAnimation:animationforKey:nil];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值