2012-04-02 74 views
0

夥計!我在窗口的工具欄中有一個NSSearchField。我告訴窗口將其第一響應者設置爲搜索字段:它的工作原理。現在:如果我要求窗口告訴我它的第一響應者是什麼,即使搜索字段有焦點,它也不是搜索字段... 有沒有辦法將搜索字段設置爲窗口的第一響應者而沒有這個不匹配?NSSearchField作爲第一響應者

謝謝

回答

2

號或至少不容易。當搜索字段或任何簡單文本字段具有鍵盤焦點時,它實際上不是第一響應者。當一個NSTextFieldNSSearchField的超類)的實例被要求成爲第一響應者時,它會向窗口請求一個「字段編輯器」,這是專門用於編輯的另一個文本字段。該編輯器位於文本字段中,並設置爲實際的第一響應者。

要獲得文本字段或搜索字段,您可以在第一個響應者上使用superview來查看層次結構。 (我認爲這是現場編輯的直接超視圖。)我敢肯定,實際的文本字段也被設置爲字段編輯器的委託,所以你也可以這樣做,但我不記得我在哪裏閱讀。

有關現場編輯器的更多信息可通過NSWindow class reference獲取。

+0

對我而言,至少是現場編輯的超級觀點的超級觀點。字段編輯器的直接超級視圖是一些私人剪輯視圖類。 – Vervious 2012-04-11 20:05:05

相關問題