3

PDF に描画する際のスペースの問題を解決しようとしています。デバッグ中、文字列の四角形を作成するメソッドを監視しています (以下を参照)。デバッガーで値を見ると、メソッドが値を返す前に、適切な float 値 (つまり、30.0) から下の画像に表示されている値に変化します。何が起こっている?たとえば、なぜ x は 1.4013e - 45 になるのでしょうか?

    CGRect renderingRect = CGRectMake(kBorderInset + kMarginInset + widthOfPrevious,    kBorderInset + kMarginInset + 50.0 + heightOfPrevious,stringSize.width, stringSize.height);

    return renderingRect;

renderRect の値を確認してください:

ここに画像の説明を入力

4

1 に答える 1

2

CGRectIntegral以下に示すように、浮動小数点値を最も近い最小の整数に丸めるために以下のように使用できます。

CGRect renderingRect = CGRectIntegral(CGRectMake(kBorderInset + kMarginInset + widthOfPrevious, kBorderInset + kMarginInset + 50.0 + heightOfPrevious,stringSize.width, stringSize.height));
于 2012-12-05T23:23:20.300 に答える