我想将 NSCollectionView
置于其封闭的 ScrollView 中(水平和垂直)。
如何确定 Collection View 的理想大小以便所有项目 View 都适合?
当包含在 ScrollView 中时, Collection View 似乎总是会调整自身大小以填充整个文档 View 。
此外,如果未包含在 ScrollView 中,则添加新项目时 Collection View 不会更改其框架。
最佳答案
我建议您自定义 NSCollection View。你所能做的就是重写 NSCollectionView 的“drawRect”方法并插入它自己的矩形。以下是解决您问题的方法
实现步骤:
创建一个类“NSModifiedCollectionView”,它继承自 NSCollection View 并执行以下操作。
@interface NSModifiedCollectionView : NSCollectionView @end @implementation NSModifiedCollectionView - (void) drawRect:(NSRect)dirtyRect { //You can inset more than 9.0 as per your needs but this will make you fit exactly NSRect insetRec = NSInsetRect(dirtyRect, 9.0, 9.0); [super drawRect:insetRec];}
2:将 NSCollectionView 从对象列表拖放到 Xib 中,并将其自定义类修改为“NSModifiedCollectionView”。现在运行并检查它应该按您的预期工作。
关于cocoa - 获取 NSCollectionView 的首选大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16770563/