NSScrollView не обновляет свой вид документа в Mojave OSX 10.14 - PullRequest
0 голосов
/ 13 сентября 2018

Кто-нибудь испытывает проблемы с вашим Custom NSView внутри NSScrollView? У меня есть NSScrollView с пользовательским NSView, который использует свою функцию draw (rect :), чтобы сделать всю работу.

До OSX 10.14 каждый раз, когда представление прокрутки отмечалось с помощью setNeedsDisplay, documentView также обновлялось. В OSX 10.14 мне нужно специально пометить doucmentView для установки setNeedsDisplay. Похоже, это игнорирование свойства NSScrollView.contentView.copiesOnScroll.

Кто-нибудь имеет подобные проблемы или указывает мне, чтобы выпустить заметки? примечания к выпуску NSAppKit ничего не говорят о NSScrollView.

1 Ответ

0 голосов
/ 25 декабря 2018

Мы столкнулись с той же проблемой.После нескольких дней экспериментов причина проблемы в нашей установке была следующей:

Документы, которые нам нужно нарисовать, могут быть довольно большими.Поэтому мы оптимизировали рисование в методе drawView NSView, чтобы рисовать только видимые части документа, в соответствии с прямоугольником клипа:

NSRect clipRect = [nsClipView bounds];

Это прекрасно работало до Мохаве.

В Мохаве наш кодбудет отображаться черный цвет для частей документа, которые прокручиваются в видимой области.

Мы изменили наши процедуры рисования, чтобы отображать точно области, обозначенные «грязным прямоугольником» метода drawRect:

- (void)drawRect:(NSRect)dirtyRect

Теперь прокрутка работает под Мохаве.

...