Я пытаюсь создать NSCollectionView, где его элементы адаптируются к доступному пространству, а не определяют фиксированный размер для элементов и соответствующим образом изменяют размер NSCollectionView.
Я не мог найти способ добиться этого с помощью NSCollectionViewFlowLayout, поскольку для его элементов требуется фиксированный размер. Я довольно близко подошел к желаемому результату с NSCollectionViewGridLayout. Однако мне нужно, чтобы CollectionViewItems сохраняли соотношение сторон (квадраты) при масштабировании окна, содержащего NSCollectionView, в то время как GridLayout масштабирует элементы в соответствии с их min и maxItemSize. В зависимости от размера окна и количества элементов в коллекции я получаю элементы, которые не совсем квадратные.
Пример снимка экрана: искаженные элементы NSCollectionViewItems
Вероятно, я мог бы обойти это, установив максимальное количество столбцов в сетке в зависимости от количества элементов в коллекции и размера окна, однако это кажется немного громоздким. Есть ли лучший способ добиться желаемого макета? Может быть, с пользовательским NSCollectionViewLayout?