NSViewのAutoresizeMaskと言えば、ウインドウのサイズを変更したときに、自動的にビューの位置とサイズを調整する仕組みである。通常は、InterfaceBuilderでNSViewの上下左右のマージンや縦横のサイズを可変にしたり固定してりして設定する。
これを使うと直感的にウインドウ内のレイアウトを調整できるので、とっても便利なんですが、NSSplitViewと組み合わせると問題が発生します。
NSSplitViewは区切り線をドラッグすることで、2つのNSViewのサイズを排他的に変更できますが、このとき区切り線のドラッグにより、NSViewの面積が一度でもゼロになってしまった場合、AutoresizeMaskだけだと元のレイアウトに復帰できなくなってしまうのです。
原因は、サイズを固定としたときに、具体的なサイズの値が保持されないためです。
これを解決するには、NSViewのサブクラスを作り、サイズの値を保持するよう機能を追加するしかありません。
ちなみに、CoreAnimationフレームワークのCALayerにもAutoresizeMakがありますが、こちらにはそれ以外にも、LayoutManagerによってレイアウトを調整できるようになっています。
NSViewにもLayoutManagerがほしいですね。