Пользовательский вид в NSScrollView, нацарапанном на свитке

64
7

У меня есть пользовательский вид, называемый SequenceView в NSScrollView.

Он должен нарисовать 20 красных прямоугольников в столбце.

Проблема: прямоугольники повреждены/не нарисованы/оттянуты частично при вертикальной прокрутке.

До и после свитка: enter image description here

- (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;
}
}

спросил(а) 2021-01-19T20:28:50+03:00 6 месяцев, 1 неделя назад
1
Решение
64

Посмотрите, активирована ли "Копировать на свитке" для вашего вида прокрутки:

enter image description here

ответил(а) 2021-01-19T20:28:50+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема