У меня есть 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 пикселями, и это прекрасно работает при использовании ручки делителя. Но при изменении размера всего окна разделитель перемещается из этих ограничений.
Кто-нибудь знает, как это контролировать?
Дополнительно: если я хочу сохранить выбранную пользователем ширину боковой панели, целесообразно ли считать ее, сохранить ее в файле настроек и восстановить ее позже, или есть более простой способ сделать это ? Я заметил, что в некоторых случаях состояние окна сохраняется - это обычно происходит или мне нужно его контролировать?
Заранее спасибо
Arne