我在将自定义绘图 NSView 用作 NSScrollView 的 documentView 时遇到问题。
这是我的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;
}
}
当我向右滚动视图时一切正常,但是当我向左滚动视图时我看到奇怪的线条。
我认为这是一个缓存的图像缓冲区或其他东西,但我不明白为什么会发生这种情况,因为我填充了一个覆盖整个帧的矩形。
是什么导致了这个问题?我该如何解决?谢谢。