获取NSCollectionView的首选大小

时间:2013-05-27 09:52:33

标签: cocoa nsscrollview nscollectionview

我想将NSCollectionView置于其封闭的滚动视图中(水平和垂直)。

如何确定集合视图的理想大小,以便所有项目视图都适合?

当包含在滚动视图中时,集合视图似乎总是会自行调整大小以填充整个文档视图。

此外,如果未包含在滚动视图中,则在添加新项目时,集合视图不会更改其框架。

1 个答案:

答案 0 :(得分:0)

我建议您自定义NSCollection视图。您所能做的就是覆盖NSCollectionView的“drawRect”方法并插入自己的rect。以下是解决问题的方法

实施步骤:

  1. 创建一个类“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. 2:将NSCollectionView从对象列表拖放到Xib,并将其自定义类修改为“NSModifiedCollectionView”。现在运行并检查它应该按预期工作。