NSSplitView: Управление положением разделителя во время изменения размера окна

У меня есть 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 пикселей, и это отлично работает при использовании дескриптора разделителя. Но при изменении размера всего окна разделитель перемещается вне этих ограничений.

Кто-нибудь знает, как это контролировать?

Дополнительно: если я хочу сохранить выбор ширины боковой панели, выбранный пользователем, стоит ли его прочитать, сохранить в файл настроек и восстановить его позже, или есть более простой способ сделать это? Я заметил, что состояние окна в некоторых случаях сохраняется - это обычно происходит или мне нужно его контролировать?

Заранее спасибо

Арне

13
задан paulmelnikow 8 November 2012 в 16:00
поделиться