Вам необходимо иметь класс, соответствующий протоколу NSToolbarDelegate
, и иметь экземпляр этого класса, который будет делегатом вашей панели инструментов. Этот делегат, например, реализует -toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:
, который возвращает экземпляр NSToolbarItem
для данного идентификатора, потенциально создавая этот элемент по требованию. Делая это, вы готовите своего делегата к возврату элемента панели инструментов, когда панель инструментов запрашивает у него элемент, соответствующий идентификатору.
Сделав это, вы можете программно добавить новый элемент панели инструментов на панель инструментов, отправив -[NSToolbar insertItemWithItemIdentifier:atIndex]
в экземпляр панели инструментов. Идентификатор строки аргумента должен совпадать с тем, который использовался в предыдущем абзаце. Если вам нужно удалить элемент, отправьте -[NSToolbar removeItemAtIndex:]
на панель инструментов.
Это описано с примерами в Добавление и удаление элементов панели инструментов раздела Темы программирования панели инструментов для какао документа.