Mr *_*nox 2 macos cocoa objective-c
我正在试图找出如何在搜索字段下方显示搜索结果.我想原因是我的程序从未收到消息
-(NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(int*)index;
Run Code Online (Sandbox Code Playgroud)
所以我永远无法回复任何结果.
但是,我确实收到了
- (void)controlTextDidChange:(NSNotification *)obj;
- (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSelector;
Run Code Online (Sandbox Code Playgroud)
什么原因可能是什么机会?我确实设置了代表.
completions:除非complete在文本字段的字段编辑器上的某个位置调用,否则您的委托将不会收到该消息.在controlTextDidChange:你可以这样做:
- (void)controlTextDidChange:(NSNotification *)note {
NSTextView * fieldEditor = [[note userInfo] objectForKey:@"NSFieldEditor];
[fieldEditor complete];
}
Run Code Online (Sandbox Code Playgroud)
毫无疑问,你必须使它更复杂(当你的委托返回完成列表时,controlTextDidChange:将再次调用,创建一个无限循环),但这应该让你开始.
| 归档时间: |
|
| 查看次数: |
728 次 |
| 最近记录: |