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