我想NSCollectionView
在其封闭的滚动视图中居中(水平和垂直)。
如何确定集合视图的理想大小以使所有项目视图都适合?
当包含在滚动视图中时,集合视图似乎总是会调整自身大小以填充整个文档视图。
此外,如果未包含在滚动视图中,则集合视图在添加新项目时不会更改其框架。
我想NSCollectionView
在其封闭的滚动视图中居中(水平和垂直)。
如何确定集合视图的理想大小以使所有项目视图都适合?
当包含在滚动视图中时,集合视图似乎总是会调整自身大小以填充整个文档视图。
此外,如果未包含在滚动视图中,则集合视图在添加新项目时不会更改其框架。
我建议您自定义 NSCollection 视图。你所能做的就是覆盖 NSCollectionView 的 "drawRect" 方法并插入它自己的矩形。以下是解决您问题的方法
实施步骤:
创建一个类“NSModifiedCollectionView”,它从 NSCollection 视图继承并执行以下操作。
@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"。现在运行并检查它是否应该按预期工作。