この問題は数百万回も解決されているに違いありませんが、Googleは私の友人ではありませんでした。N箱の行の長方形を計算する方法長さLをSのスペースで埋める
一定の長さを埋めるように、一連のボックスをプログラム的に配置し、特定の距離だけ離れて配置する必要があります。
これは私が欲しいものです:
alt text http://img194.imageshack.us/img194/3506/spacingiget.png
を私はコアグラフィックスを使用してObjective-Cで働いているので、私は:ここ
alt text http://img257.imageshack.us/img257/3362/spacingiwant.png
は私が取得していますものです画像を描画したりドロップしたりできる一連のRectが必要です。私の素朴な試みは、特定の間隔を持つボックスのセットを描画しますが、最後にスペースを残します。ここで
のdrawRectである私のコードです:メソッド
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat barStartX = 96;
CGFloat barStartY = 64.0;
CGFloat barWidth = 16;
CGFloat barHeight = 64;
CGFloat barGutter = 8;
int barSegments = 8;
for (int segmentNumber = 0; segmentNumber <= (barSegments - 1); ++segmentNumber) {
// get the box rect
CGRect segment = CGRectMake(barStartX + (barWidth * segmentNumber), barStartY , barWidth - barGutter, barHeight);
// plot box
CGContextFillRect(context, segment);
}
私も、私は今から6ヶ月を理解することはありませんワンオフコードの不可解な怪物を作成する前に、私は思ったんだけどこの間隔の問題に対する一般的な解決策がある場合。
答えはObjective-Cでなくてもかまいませんが、ややCのようなものです。可読性はパフォーマンスの観点よりも優先されます。
これはちょうど私がそこにあったことを知っていたエレガントなソリューションの種類です、ありがとう。 – willc2