2014-05-18 27 views
1

在我的應用程序中,我有一個輔助NSWindow,它是使用我的initWithWindowNibName:方法中的NSWindowController中的.xib創建的。該窗口是標題欄關閉的普通NSWindow在無標題窗口中禁用所有控件

創建窗口後,使用makeKeyAndOrderFront: -
顯示窗口,並禁用所有控件(文本框,組合框)。

我有(超過..)三重檢查窗口中的所有標誌和控件的視圖層次結構:一切已啓用,允許編輯而不拒絕成爲第一響應者。

完全無能爲力。有任何想法嗎?

更新#1:
我出現的問題與沒有標題欄的窗口。在窗口上打開標題欄時 - 以及窗口中的控件 - 按預期行事。

+2

通過「所有標誌」,你只是指可以在IB設置的那些?特別是,如果你的窗口沒有標題,那麼'-canBecomeMainWindow'和'-canBecomeKeyWindow'返回'FALSE'。您可能需要覆蓋它們才能返回「TRUE」。 –

+0

@KenThomases確實 - 只是IB旗幟。好的,我會嘗試一個子類。雖然很麻煩.. – ATV

+0

你的意思是窗口中唯一的控件是文本字段和組合框?這些控件需要放在關鍵窗口中,併成爲第一個響應者才能運行,而像按鈕之類的其他控件可以在不處於關鍵窗口的情況下工作。 – JWWalker

回答

0

正如指出的那樣肯框架將automatically refuse becoming a key window如果窗口標題被關閉:

試圖使,如果這 方法返回NO的關鍵窗口被遺棄的窗口。如果 窗口具有標題欄或調整大小欄,則NSWindow實現返回YES,否則返回NO。

一個簡單的子類沒有辦法。

相關問題