2009-09-13 3 views
8

У меня есть NSSplitView, а на левой стороне у меня есть tableView (например, список источников), и в зависимости от выбора строки я хочу изменить правую часть раскола Посмотреть. Я не могу понять, как это сделать.С одной стороны программирования NSSplitView

Когда я добавляю свой желаемый subview в splitview, он добавляет еще один раскол (так что теперь всего 3 просмотра ... не то, что я хотел).

[mySplitView addSubview:myCustomView]; 

Как правильно установить правую сторону моего splitView?

Update

Использование

[mySplitView replaceSubview:[[mySplitView subviews] objectAtIndex:1] withSubview:myCustomView] 

Кажется работать, однако это изменение размера разделенное представление довольно странно, как я могу остановить это? В IB есть возможность отключить autoResizesSubviews, но я не могу снять этот флажок. Есть идеи?

ответ

9

Попробуйте настроить рамку вашего нового вида на старый вид перед выполнением свопа.

+0

Работает прекрасно. Благодаря! – jbrennan

+0

как вы это делаете? – JonF

+1

@JonF: 1. Получите рамку старого вида. 2. Установите для этого кадра новый вид. 3. Затем замените старый вид на новый. –

0

Кроме того, вы можете взглянуть на BWToolkit, который обеспечивает гораздо более удобный способ установки размеров для сторон разделенной панели.

+0

Я уже заглядывал к этому, и я, вероятно, в конце концов его буду использовать. Пока я хочу научиться делать вещи «Жесткий путь», чтобы лучше понять их. Я нахожу, когда начинаю использовать инструментальные средства, слишком многое из них похоже на магию. После того, как мне будет удобно, я, скорее всего, буду использовать его. Я ничего не слышал об этом. – jbrennan