0

UIBezierPath を使用してユーザーがタッチしている場所を描画すると、ユーザーが高速に移動すると、三角形の先端のような非常に難しい点が表示されることがあります。これを引き起こしている可能性のある手がかりはありますか?または、どうすれば修正できますか?

touchesBegan/Moved/Ended を使用してポイントをキャプチャし、それらを UIBezierPaths の NSArray に配置しています。

4

1 に答える 1

2

その名の通り、UIBezierPathただ曲線を描くだけではありません。実際、デフォルトではそうではありません。おそらく、touchesBeganetcによって返された座標をaddLineToPointメソッドに渡すだけです。

すべてのタッチ座標を に直接渡すだけでなく、UIBezierPath最初にそれらを補間して、画面上で指をすばやく動かしたときに発生するこれらの鋭い線を回避する必要があります。これはそれほど難しくありませんが、ベジェ カーブの仕組みとスプライン補間についてある程度の知識が必要です。

もう少し簡単な方法を探している場合は、次のようなオープン ソース ライブラリがいくつかあります

于 2011-09-02T09:45:18.763 に答える