У меня есть NSSplitView, у которого есть две панели - вид боковой панели слева и веб-представление справа. У меня также есть набор делегатов, который обрабатывает ограничения для боковой панели следующим образом:
- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMax ofSubviewAt:(NSInteger)dividerIndex {
return 500.0f;
}
- (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex {
return 175.0f;
}
- (BOOL)splitView:(NSSplitView *)splitView canCollapseSubview:(NSView *)subview {
return NO;
}
Это означает, что боковая панель может быть изменена только между 175 и 500 пикселями, и это отлично работает при использовании разделителя. Но при изменении размера всего окна делитель вытесняется из этих ограничений.
Кто-нибудь знает, как это контролировать?
Дополнительно: если я хочу сохранить пользовательский выбор ширины боковой панели, хорошо подумать, чтобы прочитать его, сохранить в файл настроек и восстановить его позже, или есть более прямой способ сделать это? Я заметил, что состояние окна сохраняется в некоторых случаях - обычно ли это происходит или мне нужно его контролировать?
Заранее спасибо
Арне