私は Quartz2D を使用するのが初めてで、最初から線を引きたいと思っていましたが、その線を最初から最後までアニメーション化しました。私が読んだブログや私が見た同様の質問から、レイヤーのパスを設定し、そのレイヤーでアニメーション化する必要があるようです。私にとっての問題は、レイヤーにパス プロパティがあっても、パスを適切に設定する方法がわからないことです。
UIView を表示していますが、アニメーション コードをコメント アウトすると、問題なく行が表示されます。
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGFloat components[] = {0.0, 0.0, 1.0, 1.0};
CGColorRef color = CGColorCreate(colorspace, components);
CGContextSetStrokeColorWithColor(context, color);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 300, 400);
CGContextStrokePath(context);
CGColorSpaceRelease(colorspace);
CGColorRelease(color);
CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation.duration = 10.0;
pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];
//[aLayer addAnimation:pathAnimation forKey:@"strokeEndAnimation"];
ラインを最初から最後までアニメートするにはどうすればよいですか?