ベジエ曲線である CGPathRef を扱っています。パスref上で等間隔のX、Y座標を100個取得したいと思います。
たとえば、この行では、等間隔の X 値に対して 100 個の Y 値を取得したいと考えています。
現在、私は UIView を作成し、それを speed = 0.f でアニメーション化してから、アニメーションが停止するのを待ってから、ビューの x、y 座標を取得しています:
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationLinear;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
pathAnimation.speed = 0.f;
pathAnimation.duration = 100;
// Get position 50
pathAnimation.timeOffset = 50;
pathAnimation.path = path;
pathAnimation.delegate = (id)self;
しかし、これは非常にハックであることは言うまでもありません。これを行うより良い方法はありますか?