MacアプリでiPhotoやiTunesのような1ウィンドウ・ソースリスト(左側)・メイン表示(右側)という形式のアプリをAppleはSingle-window library-style appと呼んでいます。
そのようなウィンドウをデザインする場合、Vertical Split Viewというレイアウトビューを用いてレイアウトしますが、そのままではウィンドウリサイズ時に左側のビューサイズがウィンドウサイズに応じて変更されてしまいます。
左側のビューを固定サイズにしたい場合はNSSplitViewのデリゲート(ここではSplitViewDelegate.mとします)にてsplitView:shouldAdjustSizeOfSubviewを定義する必要があります。
SplitViewDelegate.m
/**
Split View delegate method
This keeps the source list on the left from resizing when the window is resized
*/
- (BOOL)splitView:(NSSplitView *)splitView shouldAdjustSizeOfSubview:(NSView *)subview {
if (subview == [[splitView subviews] objectAtIndex:0]) return NO;
else return YES;
}
参考URL:
Mac App Programming Guide: The Core App Design
NSSplitViewDelegate Protocol Reference