+3  A: 

The problem stems from the fact that cocoa autoresizing rules work by scaling deltas from the previous state to the current state. If any of the margins go to 0 they'll never scale back up as the view grows because of the multaplicative nature of the scaling.

The typical approach to working around this is to use the NSSplitView delegate methods to prevent the split view from getting to small and then have it snap shut - which internally keeps the collapsed view at the minimum size.

Here's a link to the split view documentation.

Also, if you think about the user experience, your views probably look really awful when they're sized down below a certain point - views probably start overlapping, and becoming too small to show their content. Adding this snapping-collapsing behavior addresses both problems.

If you want to see an example of this, Mac OS X's Mail.app snaps its inline message view closed when it gets to a certain height. You should mimic that behavior.

Jon Hess
A: 

I have the same problem. Fixed it using BWToolkit's split views, which allow you to determine the maximum and minimum height for each view.

Rui Pacheco
Yeah, that is actually what I ended up doing. There was actually some bugs in BWToolkit's split view, but it has been fixed in version 1.2.5
Austin