2 つの CGPoints があります。私は一方から他方へ曲線を描く必要があります。どうすればそれを描くことができますか?コア グラフィックまたはベジエ パス? もしそうなら、私はいくつかのガイダンスが必要です。よろしくお願いいたします。
質問する
2127 次
1 に答える
2
UIBezierPath
または CGPath
を使用します。UIBezierPath
OS X のようNSBezierPath
に動作します。ビューの drawRect: メソッドで、オブジェクトを宣言します。
UIBezierPath *aPath = [UIBezierPath bezierPath];
次に、最初のポイントを開始します。
[aPath moveToPoint: startPoint];
次に、制御点を含む曲線セグメントを追加します。これは、コントロール ポイントが必要な場所を把握するのが難しい部分です。
2種類あります。三次曲線
[aPath addCurveToPoint: aDestinationPoint controlPoint1: aControlPoint controlPoint2: anotherControlPoint];
二次曲線
[aPath addQuadCurveToPoint:aDestinationPoint controlPoint: aLonelyControlPoint];
最後に、UIColor (Mac では NSColor) で set メソッドを呼び出します。次に、パスをストロークまたは塗りつぶします。
[aPath stroke];
ストローク幅を設定することもできます。
描画は手続き的に前に戻ることを覚えておいてください。別の色呼び出しを別の色に設定したい場合は、塗りつぶしまたは線の次の描画コマンドの前に行います。
イベントの CG バージョンは似ていますが、より複雑です。
于 2013-05-27T09:23:53.910 に答える