调整NSCollectionView的大小以适应内部项目?

时间:2013-01-21 00:51:27

标签: objective-c cocoa nscollectionview nscollectionviewitem

如何调整NSCollectionView的大小以适应我所有项目的大小?

我尝试过类似的东西:

    float height=0;
for(int i=0;i<[drives count]; i++) {
    height += [[[collectionView itemAtIndex:i] view] bounds].size.height;
}
NSLog(@"%lg", height);
[[self view] setBoundsSize:NSMakeSize(300, height)];

我得到的只是一个可怕的结果:collectionView被扭曲了。它之前小于父视图,并且扩展为填充父视图。

注意:我删除了集合视图的滚动条,内部​​项目是NSBox。

Ps:这就是我没有任何调整大小的东西;

enter image description here

2 个答案:

答案 0 :(得分:0)

看看这个问题:Can NSCollectionView autoresize the width of its subviews to display one column我认为这可能有助于解决您的问题!

答案 1 :(得分:0)

我的第一种方法并不是那么糟糕。

我只需使用[[self view] setFrame:]代替[[self view] setBoundsSize:]来调整NSCollectionView

的大小