我正在創造一個智能感知風格酥料餅,顯示誰正在輸入到文本字段什麼語法有效用戶。有誰知道如何顯示NSPopover而不讓它聚焦,以便用戶可以繼續輸入到textField中?該酥料餅是由controlTextDidChange觸發:顯示NSPopover沒有焦點
- (void) controlTextDidChange:(NSNotification *)obj
{
NSTextField *field = [obj object];
NSString *command = [field stringValue];
if ([[command substringFromIndex: command.length - 1] isEqualToString: @"#"]){
CompletionMenuController *completionController = [[CompletionMenuController alloc] initWithNibName: @"CompletionMenuController" bundle:[NSBundle mainBundle]];
completionMenuPopover = [[NSPopoverInformation alloc] init];
[completionMenuPopover setContentViewController: completionController];
[completionMenuPopover setContentSize: completionController.view.frame.size];
[completionMenuPopover setBehavior: NSPopoverBehaviorTransient];
[completionMenuPopover setAppearance: NSPopoverAppearanceHUD];
[completionMenuPopover showRelativeToRect:[_commandBar frame] ofView:_commandBar preferredEdge:NSMaxYEdge];
}
}
'[textView becomeFirstResponder];'顯示彈出窗口後? – nhgrif
@nhgrif請閱讀關於'-becomeFirstResponder'的文檔。除此之外,將焦點重新放在文本視圖上並不等同於不失焦點。 –
我發佈的問題評論,而不是一個答案。我不知道它是否有用,因此它不作爲答案發布。這是一段非常簡單的代碼,用於輸入並查看它是否有效,這是我在發佈此問題之前嘗試的第一件事。提問者沒有提到嘗試它,所以我認爲這值得一試。 – nhgrif