NSSplitView сохранить и восстановить положение разделителя при переключении между вертикальным и горизонтальным расположением - PullRequest
1 голос
/ 04 марта 2011

В моем приложении я использую NSSplitView, который имеет возможность переключаться между вертикальным и горизонтальным макетом, используя метод - (void)setVertical:(BOOL)flag. Проблема в том, что когда пользователь меняет макет, сплиттер всегда восстанавливает свою позицию на 50% / 50%.

NSSplitView имеет возможность автосохранения для своего делителя, но он не сохраняет значения для обоих макетов.

Каков наилучший способ справиться с этим? Сохранять фрагменты подпредставлений в NSUserDefault при каждом перемещении изменения размера и разделителя и восстанавливать их при переключении макета? Это выглядит хорошо? Есть ли лучшее решение.

1 Ответ

2 голосов
/ 05 марта 2011

К сожалению, автосохранение не работает с положением разделителя (не знаю почему).В итоге я сделал именно то, что вы предложили: сохранение ректов в NSUserDefaults.

Кроме того, имеется превосходный BWToolkit с его режимом разделения, который должен нормально работать в отношении позиции разделения.Имейте в виду, однако, что плагины (надеюсь, пока) не поддерживаются в версии 4 нашей IDE; -)

...