0

コンテキストで正方形を描画しようとしていますが、短辺と長辺を持つ長方形になります。(私のiPad網膜シミュレーターで)

これは、ビュー オブジェクトの drawRect メソッドの一部です。

CGContextRef context = UIGraphicsGetCurrentContext();

CGFloat minx = 0;
CGFloat maxx = 45 - 1;
CGFloat miny = 0;
CGFloat maxy = 45 - 1;

CGContextSetLineWidth(context, 1.0);

CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextMoveToPoint(context, minx, maxy);
CGContextAddLineToPoint(context, minx, miny);
CGContextAddLineToPoint(context, maxx, miny);
CGContextStrokePath(context);

CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGContextMoveToPoint(context, maxx, miny);
CGContextAddLineToPoint(context, maxx, maxy);
CGContextAddLineToPoint(context, minx, maxy);
CGContextStrokePath(context);

私は何を間違っていますか?アスペクト比などを設定する必要がありますか?

編集:私はそれを知りました

CGContextScaleCTM(context, 1, 0.75f);

結果を再び正方形にしますが、最終結果は適切ではありません。垂直スケールを修正する必要がある理由を誰かが知っていますか?

4

1 に答える 1

0

それを見つけた....

他の場所でビュー rect を変更していたことがわかりました。それを無効にすると、私の正方形は再び正方形になりました。

ヒントをありがとうイスマエル!!

于 2013-01-30T17:31:24.690 に答える