NSSearchField - Показать NSMenu с результатами - PullRequest
2 голосов
/ 08 мая 2011

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

-(NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(int*)index;

, поэтому я никогда не могу вернуть никаких результатов.

Однако я делаю получаю

- (void)controlTextDidChange:(NSNotification *)obj;
- (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSelector;

Есть шансы, что причина может быть?Я назначил делегата.

1 Ответ

5 голосов
/ 08 мая 2011

Ваш делегат не получит сообщение completions:, если в какой-то момент в редакторе полей текстового поля не будет вызван completecontrolTextDidChange: вы можете сделать это:

- (void)controlTextDidChange:(NSNotification *)note {

    NSTextView * fieldEditor = [[note userInfo] objectForKey:@"NSFieldEditor];

    [fieldEditor complete];
}

Вам, без сомнения, придется сделать это более изощренным (когда ваш делегат вернет список завершений, controlTextDidChange: будет вызван снова, создаваябесконечный цикл), но это должно начать вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...