2009-07-05 3 views
4

Борясь с NSPopUpButton в предыдущем вопросе here Теперь я пытаюсь разместить NSPopUpButton внутри NSToolbar. По сути, я хочу создать нечто похожее на то, что XCode имеет по умолчанию в левой части панели инструментов. Например. кнопку всплывающего окна с кнопкой действия рядом с ней.Ввод NSPopUpButton в NSToolbar

Я видел метод, который показывает программный способ создания NSPopUpButton, а затем добавляет его в NSToolbar, но тогда я не могу разобраться, как сделать все переплетное вещество, которое было так удобно в последний раз.

Интерфейс Builder не очень помог, поэтому любая помощь с благодарностью получена.

P.S. Могу ли я решить это, создав собственное представление (содержащее NSPopUpButton с обычными привязками), а затем добавив пользовательский вид на панель инструментов?

ответ

7

На самом деле это довольно легко сделать, что вы хотите здесь. В Interface Builder перейдите к древовидной структуре (вторая кнопка в сегментированном элементе режима просмотра). Разверните окно и панель инструментов. Затем из библиотеки перетащите всплывающее окно на панель инструментов. Интерфейс Builder автоматически добавит новую всплывающую кнопку в пользовательском представлении.

Чтобы на самом деле положить кнопку на панели инструментов, дважды щелкните на панели инструментов в окне. Это приведет к созданию листа настройки. Вы можете перетащить кнопку всплывающего окна в нужное место на панели инструментов.

Если вы хотите сделать это программно, вы должны создать пользовательский вид, содержащий вашу всплывающую кнопку. Затем вам нужно будет назначить его новой розетке, чтобы вы могли обращаться к ней программно. В методе toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar вы должны создать новый NSToolbarItem за каждый обычный вызов и вызвать setView:, чтобы назначить пользовательский вид элементам панели инструментов.

+1

Добавление к программному решению: И затем используйте 'bind: toObject: withKeyPath: options:' для создания привязки. –

+0

Спасибо Алекс, не уверен, что я нашел бы маршрут IB без вашей помощи! – Clokey

0

Старый пост, но обратите внимание, что вы также можете дважды щелкнуть по панели инструментов в окне и перетащить прямо в «Разрешенные элементы панели инструментов».

В любом случае вам нужно будет открыть панель инструментов, чтобы вы могли перетаскивать вещи из элементов панели инструментов по умолчанию или из них.

Смежные вопросы