NSCollectionViewFlowLayout collectionViewContentSize обновляется, но фрейм представлений коллекции не обновляется - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть несколько пользовательских NSCollectionViewFlowLayouts, некоторые из которых имеют вертикальное направление, а другие - горизонтальное.

При настройке горизонтальной компоновки рамка представлений коллекции правильно устанавливает высоту и ширину на основе содержимого, однако, когдаЗатем я обновляю макет до вертикального макета, рамка сохраняет размер содержимого предыдущих макетов.

Изменение размера окна вручную с помощью мыши приводит к правильному отображению макета, но я не уверен, почему это не корректно обновляется программно.Правильный размер вызывается из размера содержимого макетов, в WWDC «Что нового в NSCollectionViews» вы можете увидеть, что это не проблема.

Та же проблема может быть замечена в Apple 2015 WWDC, что новогос примером проекта NSCollectionViews, найденным по адресу https://developer.apple.com/library/prerelease/mac/samplecode/CocoaSlideCollection/CocoaSlideCollectionUsingNSCollectionViewonOSX10.11.zip

При переключении между свернутым макетом и круговым макетом вы сначала увидите, что высота неверна, и наоборот.

Я не уверен, что этоошибка, или если я что-то упустил в реализации.

Обновление: Это выглядит как ошибка ОС, в то время как мы должны были работать вокруг.Публикуйте здесь, чтобы другие могли видеть решение межпозвоночного промежутка или, возможно, предложить других на основе описания выше.(https://github.com/zenangst/Blueprints/pull/93)

1 Ответ

0 голосов
/ 12 февраля 2019

Обновление: похоже, это ошибка ОС, за то время, что нам приходилось исправлять ситуацию.Публикуйте здесь, чтобы другие могли видеть решение межпозвоночного промежутка или, возможно, предложить других на основе описания выше.(https://github.com/zenangst/Blueprints/pull/93)

'Это добавляет "ужасный" хак, чтобы получить размер контента для обновления на macOS при переходе между макетами. Он временно изменит размер окна, чтобы убедиться, что представление документа прокрутки представляет вид документаполучает новый размер. '

...