NSComboBox: как узнать, что пользователь набрал информацию, которой нет во всплывающем списке, и прочитать ее - PullRequest
3 голосов
/ 04 июня 2011

У меня есть NSComboBox с отдельным классом, который соответствует NSComboBox dataSource и делегату.

Если пользователь вводит текст в поле со списком, который не соответствует ни одному из элементов во всплывающем списке, как мне получить уведомление о том, что пользователь ввел что-то, а также прочитать значение, введенное пользователем

В данный момент я использую методы делегата: -

-(void)comboBoxSelectionDidChange:(NSNotification *)notification 
-(void)comboBoxWillDismiss:(NSNotification *)notification 

Однако они появляются только для уведомления, когда пользователь выбрал элемент из всплывающего окна, а не когда пользователь вводит что-то еще в прекращении редактирования

1 Ответ

5 голосов
/ 04 июня 2011

Поскольку NSComboBox является подклассом NSTextField, и, таким образом, NSControl, вы также можете использовать NSControlTextEditingDelegate методы , такие как control:textShouldEndEditing:, чтобы повлиять на поведение вашего поля со списком.

...