2012-10-14 43 views
1

我有一個自定義的NSPanel:http://cl.ly/K8SY是否可以專注於NSPanel而不會丟失其他背景窗口的焦點?

我將它設置爲NSPopUpMenuWindowLevel,我希望它保持的級別。一個例子是聚光燈菜單,當您點擊它時,背景中的窗口中的任何其他焦點仍然存在,但您仍然可以鍵入搜索字段。

我打開它:

[window orderFront:nil] 

但這並不注重窗口以及背景上。

有沒有可能做到這一點?如果是這樣,怎麼樣?

回答

1

您需要使用-[NSWindow makeKeyAndOrderFront:]來代替。

注意:鍵盤焦點只能針對一個窗口中的一個視圖。可可的mainWindow和keyWindow的概念可以是不同的窗口,但它只是keyWindow中接受鍵盤輸入的第一個響應者。

+0

我用 [window makeKeyAndOrderFront:self]; 但仍然沒有工作。我沒有使用文本字段,所以我不需要擔心鍵盤焦點,它是我想要添加焦點的NSTableView。 – Luke

+0

您是否嘗試過使用[NSWindow makeFirstResponder:]強制NSTableView實例成爲透明窗口的第一響應者? –

+0

他們只有這樣才能讓桌面視圖獲得關注makeKeyAndOrderFront是與[NSApp activateIgnoringOtherApps:YES] ;,除此之外它不會獲得焦點 – Luke

相關問題