我正在尝试创建一个 NSCollectionView ,它的项目适应可用空间,而不是为项目定义固定大小并相应地调整 NSCollectionView 的大小。
我想不出用 NSCollectionViewFlowLayout 实现这一点的方法,因为它的项目需要固定大小。使用 NSCollectionViewGridLayout,我非常接近预期的结果。但是,我需要 CollectionViewItems 在缩放包含 NSCollectionView 的窗口时保持它们的纵横比(正方形),而 GridLayout 会根据它们的 min 和 maxItemSize 缩放项目。根据窗口大小和集合中的项目数量,我最终会得到不完全是正方形的项目。
示例截图:扭曲的 NSCollectionViewItems
我可能可以通过在网格中设置 maximumNumberOfColumns 来解决这个问题,具体取决于集合中的项目数和窗口大小,但这似乎有点麻烦。有没有更好的方法来实现所需的布局?也许使用自定义 NSCollectionViewLayout?