请问该如何用代码控制看到由点到线的效果呢?

有这么一个需求,需要在UILabel Text上点击之后添加划线效果,就是类似todo done那种。
我知道简单的划线就是起点加重点坐标,连接成为一条线,但是如何用代码控制看到由点到线的效果呢?

CGContextSetLineWidth(context, 1);CGContextMoveToPoint(context, x, y);CGContextAddLineToPoint(context, x, y);CGContextStrokePath(context);

谢谢!


潇潇雨雨
浏览 157回答 1
1回答

莫回无

主要是这两个方法:- (void)setupLayers {    if (animationLayer != nil) {         [animationLayer removeFromSuperlayer];     }     animationLayer = [CALayer layer];     animationLayer.frame = self.bounds;     [self.layer addSublayer:animationLayer];         CGPoint midLeft = CGPointMake(CGRectGetMinX(animationLayer.bounds), CGRectGetMidY(animationLayer.bounds));    CGPoint midRight = CGPointMake(CGRectGetMaxX(animationLayer.bounds), CGRectGetMidY(animationLayer.bounds));    UIBezierPath *path = [UIBezierPath bezierPath];     [path moveToPoint:midLeft];     [path addLineToPoint:midRight];          pathLayer = [CAShapeLayer layer];     pathLayer.frame = animationLayer.bounds;     pathLayer.geometryFlipped = YES;     pathLayer.path = path.CGPath;     pathLayer.strokeColor = [UIColor blackColor].CGColor;     pathLayer.lineWidth = 2;     [animationLayer addSublayer:pathLayer]; } - (void)startAnimation {     [animationLayer removeAllAnimations];     [pathLayer removeAllAnimations];         CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];     pathAnimation.duration = 3.0;     pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];     pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];     [pathLayer addAnimation:pathAnimation forKey:@"strokeEnd"]; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery