вызов действия при нажатии NSPopupButton - PullRequest
3 голосов
/ 09 марта 2012

У меня есть кнопка NSPopupButton, которая отображает раскрывающееся меню при нажатии.Это меню заполняется из NSArray.Теперь, если я нажимаю на один из элементов в раскрывающемся меню, я могу выбрать его и определить, что выбрано и т. Д. Что я хочу сделать, это когда пользователь нажимает на кнопку NSpopupupton, обновляет раскрывающееся меню и затем предлагает пользователювыберите один из предметов.У меня возникают проблемы с поиском способа вызова метода IBAction, когда я просто выбираю выпадающее меню (не щелкая ни один элемент в нем).Нажатие на элемент в меню приводит к IBAction, но я хочу просто щелкнуть стрелку вниз в NSPopupButton, чтобы вызвать действие.Есть идеи ?Спасибо.

Ответы [ 2 ]

5 голосов
/ 09 марта 2012

NSPopupButton отправляет NSPopUpButtonWillPopUpNotification при нажатии. Попросите объект контроллера прослушать это уведомление и ответить обновлением выпадающего меню.

0 голосов
/ 02 января 2019

Принятый ответ сработал, хотя теперь он называется NSPopUpButton.willPopUpNotification

В Swift 4.x мой код выглядел следующим образом:

NotificationCenter.default.addObserver(self,
                 selector: #selector(dropdownMenuOpened),
                 name: NSPopUpButton.willPopUpNotification,
                 object: nil)
...