UIBezierPath を使用してユーザーがタッチしている場所を描画すると、ユーザーが高速に移動すると、三角形の先端のような非常に難しい点が表示されることがあります。これを引き起こしている可能性のある手がかりはありますか?または、どうすれば修正できますか?
touchesBegan/Moved/Ended を使用してポイントをキャプチャし、それらを UIBezierPaths の NSArray に配置しています。
UIBezierPath を使用してユーザーがタッチしている場所を描画すると、ユーザーが高速に移動すると、三角形の先端のような非常に難しい点が表示されることがあります。これを引き起こしている可能性のある手がかりはありますか?または、どうすれば修正できますか?
touchesBegan/Moved/Ended を使用してポイントをキャプチャし、それらを UIBezierPaths の NSArray に配置しています。
その名の通り、UIBezierPath
ただ曲線を描くだけではありません。実際、デフォルトではそうではありません。おそらく、touchesBegan
etcによって返された座標をaddLineToPoint
メソッドに渡すだけです。
すべてのタッチ座標を に直接渡すだけでなく、UIBezierPath
最初にそれらを補間して、画面上で指をすばやく動かしたときに発生するこれらの鋭い線を回避する必要があります。これはそれほど難しくありませんが、ベジェ カーブの仕組みとスプライン補間についてある程度の知識が必要です。
もう少し簡単な方法を探している場合は、次のようなオープン ソース ライブラリがいくつかあります。