Can NSCollectionView autoresize the width of its subviews to display one column
Posted
by littlecharva
on Stack Overflow
See other posts from Stack Overflow
or by littlecharva
Published on 2010-01-21T08:12:25Z
Indexed on
2010/03/11
17:29 UTC
Read the original article
Hit count: 441
interface-builder
|cocoa
Hi,
I have an NSCollectionView that contains a collection of CustomViews. Initially it tiled the subviews into columns and rows like a grid. I then set the Columns property in IB to 1, so now it just displays them one after another in rows. However, even though my CustomView is 400px wide, it's set to autoresize, the NSCollectionView is 400px wide, and it's set to 1 column, the subviews are drawn about 80px wide.
I know I can get around this by calling:
CGFloat width = [collectionView bounds].size.width;
NSSize size = NSMakeSize(width, 85);
[collectionView setMinItemSize:size];
[collectionView setMaxItemSize:size];
But putting this code in the awakeFromNib method of my WindowController only sets the correct width when the program launches. When I resize the window (and the NSCollectionView autoresizes as I've specified), the CustomViews stay at their initially set width.
I'm happy to take care of resizing the subviews myself if need be, but I'm quite new to Cocoa and can't seem to find any articles explaining how to do such a thing. Can someone point me in the right direction?
Anthony
© Stack Overflow or respective owner