Objective c NSSearchField-显示包含结果的NSMenu
我正在试图弄清楚如何在我的搜索字段下面显示搜索结果。我想原因是我的程序从未收到消息Objective c NSSearchField-显示包含结果的NSMenu,objective-c,cocoa,macos,Objective C,Cocoa,Macos,我正在试图弄清楚如何在我的搜索字段下面显示搜索结果。我想原因是我的程序从未收到消息 -(NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(int*)index; 所以我永远不能返回任何结果 但是,我确实收到了 - (void)c
-(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;
有可能是什么原因吗?我确实设置了代理。您的代理将不会收到
完成:
消息,除非在文本字段的字段编辑器的某个点调用完成
。在controlTextDidChange:
中,您可以执行以下操作:
- (void)controlTextDidChange:(NSNotification *)note {
NSTextView * fieldEditor = [[note userInfo] objectForKey:@"NSFieldEditor];
[fieldEditor complete];
}
毫无疑问,您必须使其更加复杂(当您的代理返回完成列表时,
controlTextDidChange:
将再次调用,创建一个无限循环),但这应该可以让您开始了。哦,天哪,我已经搜索了几个小时了。是的,这绝对是解决方案!谢谢!