0

3 つの制御点の 1 つをドラッグして、描画された quadCurve のサイズを変更して、曲線が収まるようにしようとしています。これを行うための最良のアプローチは何ですか? 描画に imageView を使用していることをお知らせします。drawRect を使用しない。

タッチがコントロールポイント上にあるかどうかを検出する必要があることはわかっていますが、これは非常に簡単ですが、 touchMoved および touchEnded メソッドで何をすべきかわかりません。

4

1 に答える 1

0

いくつかのこと:

  • これには画像ビューを使用しません。これはそのような問題drawRect:です。
  • 使用しないでくださいtouchesMovedUIPanGestureRecognizerコントロール ポイントでa を使用します。
  • コントロール ポイントをサブビューにして、ジェスチャ レコグナイザーをアタッチできるようにします。
  • 通常、コントロール ポイントを適切に機能させるには、かなり大きなヒット領域 (視覚的によりも大きい) が必要です。これは、コントロール ポイント ビューを描画するものよりも大きくすることで非常に簡単に行うことができます (したがって、コントロール ポイント ビューが 13 ポイントの円として描画されている場合は、23 ポイント ビューの中央に配置します)。

このすべてを行うコードの例については、CurvyTextView.mを参照してください。最後のポイントは実行しません (コントロール ポイント ビューが小さすぎて、実際のデバイスでうまく使用できません)。すべてのテキスト描画コードを無視します。updateControlPointsaddControlPoint:color:initWithFrame:pan:、および を気にするだけdrawPathです。

于 2012-09-11T14:49:42.773 に答える