Пользовательский вид в NSScrollView, нацарапанном на свитке
У меня есть пользовательский вид, называемый SequenceView в NSScrollView.
Он должен нарисовать 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;
}
}
Посмотрите, активирована ли "Копировать на свитке" для вашего вида прокрутки: