我在使用NSScrollView的documentView作为自定义绘图NSView时遇到问题。在nsscrollview中自定义绘图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;
}
}
一切正常,当我滚动视图向右,但我看到奇怪的线条,当我滚动视图向左。
我想这是一个缓存的图像缓冲区或东西,但我不知道为什么发生这种情况,因为我填写覆盖整个帧一个矩形。
是什么原因导致此问题?我该如何解决它?谢谢。
没有为我工作。我有类似的问题(滚动时图像严重损坏)。 – LiMar 2014-02-19 14:52:57
确保你的反应是不可或缺的。 CGRectIntegral()将有所帮助。观点讨厌有分数的反应 – uchuugaka 2014-02-19 23:05:50