我在NSScrollView中有一个名为SequenceView的自定义视图。
它应该在一列中绘制20个红色矩形。
问题:垂直滚动时矩形被损坏/未被部分绘制。
滚动之前和之后:
- (void)drawRect:(NSRect)rect {
[[NSColor yellowColor] set];
NSRectFill(_bounds);
[[NSColor redColor] set];
NSLog(@"Rect: %@", NSStringFromRect(rect));
float x = rect.origin.x+10;
float y = rect.origin.y+10;
for (unsigned i=0; i<20; i++) {
NSRect r = NSMakeRect(x,y,30, 30);
if (NSIntersectsRect(r, rect)){
NSLog(@"Drawing: %@", NSStringFromRect(r));
[[NSBezierPath bezierPathWithRect: r] stroke];
}
y+=40;
}
}
答案 0 :(得分:1)
查看滚动视图的“滚动时复制”是否已激活: