ああ、丸い長方形。それはあまりにも難しいことではありません。ベジェパスを使用して、必要なものを得ることができます。コードは次のようになります。
CGRect rect;
CGFloat minX = CGRectGetMinX(rect), minY = CGFloatGetMinY(rect), maxX = CGFloatGetMaxX(rect), maxY = CGRectGetMaxY(rect);
CGFloat radius = 3.0; // Adjust as you like
CGContextBeginPath(context);
CGContextMoveToPoint(context, (minX + maxX)/2.0, minY);
CGContextAddArcToPoint(context, minX, minY, minX, maxY, radius);
CGContextAddArcToPoint(context, minX, maxY, maxX, maxY, radius);
CGContextAddArcToPoint(context, maxX, maxY, maxX, minY, radius);
CGContextAddArcToPoint(context, maxX, minY, minX, minY, radius);
CGContextClosePath(context);
を今、あなたはあなたのグラフィックスコンテキスト上のパスを持っていることを、あなたはそれを描くかCGContextDrawPath
とCGContextFillPath
機能を使用して、それを概説することができます。
半径が高さの半分に等しいMail'sのようなピルでは、4つの90度の円弧の代わりに2つの180度の円弧を描くことでこれを簡単にすることができます。 –
アレックスとピーターの束をありがとう。私が楕円に数値を計画したいのであれば、elipseの中心に到達してその上にテキストを書くためには、どのような数学が必要ですか? – Coocoo4Cocoa
私はそれが丸薬であることに気付かなかった!ピーターが言ったことをする。それはコード行を節約します。 NSStringへのUIKitの追加を見てください。描画する文字列でsizeWithFont:を呼び出して、x = CGRectGetMinX(rect)+(CGRectGetWidth(rect) - textSize.width)/2.0で中心に置くことができます。 Y coordのために繰り返します。 – Alex