NSCollectionView使用自动布局自动调整子视图

ins*_*sys 5 cocoa objective-c nscollectionview autolayout

我试图实现简单NSView的堆叠排列,为此我使用绑定到字典控制器的NSCollectionView.我到目前为止的结果如下:

正常

左侧的标签绑定到控制器项键,SegmentedControl selectedIndex绑定到项值.

问题是,我不知道如何强制NSCollectionView中的子视图符合容器宽度; 发生的是,它们保持自己的宽度,当NSCollectionView变得太窄时,出现水平滚动条,如下所示:

在此输入图像描述

我知道这个问题(以及"反向",这个问题),而且我从来没有在Autolayout上做过太多事情而不是琐碎的事情.我想知道,凭借AutoLayout带来的所有功能,有没有办法解决这个问题,而无需使用编码和使用事件/通知?(我知道观察NSViewFrameDidChangeNotification是另一种选择,对吧?)

谢谢

ins*_*sys 1

事实上解决方案非常简单:切换到基于视图的NSTableView. NSCollectionView不适用于问题中描述的用途。使用NSTableView,您可以免费获得默认的调整大小行为。

无论您使用绑定还是数据源,它都可以工作,这并不重要。