Программное изменение размера NSSplitView - PullRequest
6 голосов
/ 04 марта 2011

Раньше я использовал и любил RBSplitView, однако мне не удалось переопределить его программно, поскольку определенная версия xcode больше не поддерживает плагины IB.

Поэтому я вернулся к использованию NSSplitView.NSSplitView - это то, что мне нужно, дело в том, что автосохранение NSSplitView не работает.Поэтому я решил реализовать это сам.

В данный момент я занимаюсь изменением размера 1 подпредставления NSSplitView.

Каков правильный способ изменения размера NSSplitView?- setPositionOfDivider: itIndex: должен быть путь (не пробовал), однако я не знаю, как получить текущую позицию делителя.

- заранее спасибо

Ответы [ 2 ]

4 голосов
/ 04 марта 2011

По моему опыту, NSSplitView ненавидит вас и желает вам зла.RBSplitView намного лучше, это стоит IMO, головная боль программной компоновки (и я так горел с плагинами ShortcutRecorder IB, что я никогда не вернусь к плагинам IB).

Тем не менее....

Единственный известный мне способ определения текущей позиции делителя - это посмотреть на подвиды, найти вид делителя, взять его кадр и отработать его положение, помня dividerThickness.Безумие, что вы должны писать этот код, но код не так уж и сложен, и вы можете поместить его в категорию.

Или вернуться к RBSplitView, пока вы все еще можете, если вашнужды когда-нибудь будут сложными.

3 голосов
/ 07 апреля 2015

Я использую Swift здесь, но тот же метод должен существовать в Цели C:

mySplitter.setPosition(123, ofDividerAtIndex: 0)
...