Xcode 如何根据NSCollectionView的最大子项调整其大小#x27;s码?

Xcode 如何根据NSCollectionView的最大子项调整其大小#x27;s码?,xcode,macos,cocoa,swift,autolayout,Xcode,Macos,Cocoa,Swift,Autolayout,我试图在NSPover中显示NSCollectionView,如下所示: 问题是我无法调整NSCollectionView/nsPover的大小以适应NSCollectionViewItem的内容。标签中的文本要么像上面那样被压缩,要么与按钮重叠 免责声明:我是xcode/cocoa域的新手。看起来,您只需要对NSCollectionViewItem子类应用适当的约束 +--------------------------+ | | | | |

我试图在NSPover中显示NSCollectionView,如下所示:

问题是我无法调整NSCollectionView/nsPover的大小以适应NSCollectionViewItem的内容。标签中的文本要么像上面那样被压缩,要么与按钮重叠


免责声明:我是xcode/cocoa域的新手。

看起来,您只需要对NSCollectionViewItem子类应用适当的约束

+--------------------------+ 
|      |           |       |
|      5           5       |
|      |           |       |
|-5-[label]-10-[button]-10-|
|               <-40->     |
+--------------------------+
+------------------------------------
|      |           |       |
|      5           5       |
|      |           |       |
|-5-[标签]-10-[按钮]-10-|
|                    |
+--------------------------+
由于标签使用默认的内在大小,它的目标是尽可能宽,因为它的内容需要


但要注意标签太宽。在这种情况下,您的NSpover也将很宽。应用于关系属性为的标签宽度约束“如何设置当前NSPopover大小?我不知道,我猜自动布局设置的是什么?”?是否有任何方法可以使它成为动态的,或者是在我知道要显示什么之后必须以编程方式进行设置?如果它是由autolayout设置的,只需以正确的方式设置约束即可。是吗?好的,我没有对popover应用任何约束,如何应用约束使其水平扩展?这些是我之前在collectionViewItem的视图上设置的约束:您能指出哪个部分不正确吗?很遗憾,您的图片不足以发现。看看编辑后的答案。我有了和你们提到的差不多的约束设置,将标签捕捉到superview的左边缘,按钮捕捉到右边缘,固定宽度到按钮,标签和按钮之间的约束。若我在自动布局中增加集合视图的宽度,它似乎反映在运行时;collectionView.maxItemSize=minSize;更新集合视图时。