0

ビューの原点が親ビュー内の位置を定義するという印象を常に持っていました。しかし、私のアプリケーションでは、インターフェイスのどこにビューを移動しても、Origin は 0,0 です。

これは私が使用するコードです:

- (void)drawRect:(CGRect)rect
{
    float orginX = rect.origin.x;
    float orginY = rect.origin.y;

    NSLog(@"X-Origin %f.", orginX);
    NSLog(@"Y-Origin %f.", orginY);

私の間違いはどこですか?

4

2 に答える 2

4

drawRect: に渡される rect はビューの境界であり、フレームではないため、原点は 0,0 になります。

于 2012-10-04T05:32:39.287 に答える
0

drawRect メソッドには、ビューの原点に相対的なフレームが渡されると思います。つまり、原点は常に 0,0 になります。これは、ビューがスーパービューとの関係でどこにあるかを知らず、気にせずにビューを描画する必要があるためです。

于 2012-10-04T05:33:07.670 に答える