Cocoa NSTableCellView内部的NSCollectionView不';t调整大小

Cocoa NSTableCellView内部的NSCollectionView不';t调整大小,cocoa,nsoutlineview,nsscrollview,nscollectionview,nstablecellview,Cocoa,Nsoutlineview,Nsscrollview,Nscollectionview,Nstablecellview,我想在NSTableCellView中显示NSCollectionView。我已经正确地设置了它,并且它在大多数情况下都能正常工作,但是collectionView的scrollview似乎没有根据NSTableCellView正确地调整大小,即使我已经为此设置了自动布局约束 我可以做些什么来设置约束,使scrollview可以根据NSTableCellView调整大小(这也应该允许collectionView调整自身大小) 编辑: 更详细地说,我真正想做的是让collectionView在调

我想在NSTableCellView中显示NSCollectionView。我已经正确地设置了它,并且它在大多数情况下都能正常工作,但是collectionView的scrollview似乎没有根据NSTableCellView正确地调整大小,即使我已经为此设置了自动布局约束

我可以做些什么来设置约束,使scrollview可以根据NSTableCellView调整大小(这也应该允许collectionView调整自身大小)

编辑:


更详细地说,我真正想做的是让collectionView在调整窗口大小时展开并调整大小,并使其占用与tableViewCell相同的宽度,根据集合视图中的项目数,调整outlineView的高度,从而确定outlineView行的高度。当collectionView是普通视图的一部分时,它可以正常工作,但我无法让它在NSTableCellView中调整自身大小。

首先,删除为collectionView/scrollview设置的所有约束

现在,您需要做4个约束,从scrollview到superview的前导、尾随、顶部和底部空间各一个。确保宽度和高度不受约束。我在最近制作的一个应用程序中做到了这一点,效果相当不错


编辑:在下面的评论中,我们发现该列没有调整大小,因此约束设置正确。

这些是相同的约束,在IB中设置,而不是在代码中设置。它们是从NSScrollView(其中包含collectionView)(似乎无法为collectionView设置约束)到它的superview(现在是NSTableCellView)进行设置的。我可以尝试在代码中执行同样的操作。它应该从IB开始工作。调整表视图的大小时会发生什么情况?集合视图的宽度不会改变,尽管另一个NSTableCellView(其中没有collectionView)调整了大小,但是拥有集合视图的表单元格视图本身是否会改变大小?可能是它所在的列没有扩展。虽然看起来不太可能,因为另一个单元格确实调整了大小。啊,似乎列的最大大小是1000!不知道为什么会这样。我将它更新为10000,现在它的大小调整得很好。