【发布时间】:2016-11-18 09:29:34
【问题描述】:
我正在尝试以动画方式绘制此特定图像:
但是,我意识到尝试使用 CGPath 绘制它是不可能的。我认为下一个解决方案是尝试根据其路径的近似值来显示此图像。所以我设法画出了一个接近这张图片的CGPath:
我希望有人能帮我弄清楚!
我确实有以下代码来至少描边路径。我正在使用 SVGKit 来帮助从 SVG 文件创建路径:
-(void)animateItAll{
self.thePath = [UIBezierPath bezierPathWithCGPath:[PocketSVG pathFromSVGFileNamed:@"SquiggleLine"]];
self.thePath.lineCapStyle = kCGLineCapRound;
self.thePath.lineJoinStyle = kCGLineJoinRound;
CAShapeLayer *shapeView = [[CAShapeLayer alloc] init];
[shapeView setPath:self.thePath.CGPath];
shapeView.fillColor = [[UIColor clearColor] CGColor];
shapeView.strokeColor = [[UIColor redColor] CGColor];
shapeView.lineWidth = 8.0f;
[[self.view layer] addSublayer: shapeView];
CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation.duration = 1.0;
pathAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];
//pathAnimation.toValue = (id) self.thePath.CGPath;
[shapeView addAnimation:pathAnimation forKey:nil];
}
【问题讨论】:
标签: ios objective-c cgpath