Я пытаюсь создать NSCollectionView, где его элементы адаптируются к доступному пространству, а не определяют фиксированный размер для элементов и соответственно изменяют размер NSCollectionView.Автоматическое изменение размера NSCollectionViewItem для установки экрана
Я не мог понять, как добиться этого с помощью NSCollectionViewFlowLayout, поскольку для его элементов требуется фиксированный размер. Я приблизился к желаемому результату с помощью NSCollectionViewGridLayout. Однако мне нужно, чтобы CollectionViewItems сохранял соотношение сторон (квадратов) при масштабировании окна, содержащего NSCollectionView, в то время как GridLayout масштабирует элементы соответственно их min и maxItemSize. В зависимости от размера окна и количества элементов в коллекции я получаю элементы, которые не являются точно квадратами.
скриншот Пример: distorted NSCollectionViewItems
Я мог бы обойти, что с установкой maximumNumberOfColumns в сетке, в зависимости от количества элементов в коллекции и размер окна, однако, кажется, немного громоздким. Есть ли лучший способ достичь желаемого макета? Может быть, с пользовательским NSCollectionViewLayout?
Это означало бы, чтобы вычислить размер ячеек в зависимости от размера окна и количество предметов, не так ли? Для этого нет «автоматического макета»? – rooney
Исправить. Для таких деталей нет автоматической компоновки. Мне жаль, что они не сделали это немного больше, чем CSS-flexbox. –