2

NSScrollViewのdocumentViewとして使用するNSViewのカスタム描画に問題があります。

これが私のdrawRectです:コード:

- (void)drawRect:(NSRect)dirtyRect
{
    [[NSColor lightGrayColor] set];
    NSRectFill(self.frame); // Fill entire frame

    [[NSColor grayColor] set];
    [NSBezierPath setDefaultLineWidth:1];

    float y = 0.0f;
    while (y <= self.frame.size.height) {
        [NSBezierPath strokeLineFromPoint:NSMakePoint(0.0f, y) toPoint:NSMakePoint(self.frame.size.width, y)];
        y += 50.0f;
    }

    float x = 0.0f;
    while (x <= self.frame.size.width) {
        [NSBezierPath strokeLineFromPoint:NSMakePoint(x, 0.0f) toPoint:NSMakePoint(x, self.frame.size.height)];
        x += 50.0f;
    }
}

グリッドの描画

ビューを右にスクロールするとすべて問題ありませんが、ビューを左にスクロールすると奇妙な線が表示されます。

ここに画像の説明を入力してください

これはキャッシュされた画像バッファか何かだと思いますが、フレーム全体をカバーする長方形を埋めているため、なぜこれが発生するのかわかりませんでした。

この問題の原因は何ですか?どうすれば解決できますか?ありがとう。

4

2 に答える 2