2012-04-02 9 views
0

Jungs! Ich habe ein NSSearchField in der Symbolleiste eines Fensters. Ich sage dem Fenster, dass es seinen ersten Responder auf das Suchfeld setzen soll: es funktioniert. Jetzt: Wenn ich das Fenster frage, was ist sein Ersthelfer, ist es nicht das Suchfeld, auch wenn das Suchfeld den Fokus hat ... Gibt es eine Möglichkeit, das Suchfeld als erster Responder des Fensters zu setzen, ohne dies zu haben Nichtübereinstimmung?NSSearchField als Ersthelfer

Danke

Antwort

2

Nr Oder wenigstens nicht leicht. Wenn ein Suchfeld oder ein einfaches Textfeld den Tastaturfokus hat, ist es nicht der erste Responder. Wenn eine Instanz der NSTextField (NSSearchField 's Superklasse) gebeten wird, Ersthelfer zu werden, fragt sie das Fenster nach einem "Feldeditor", der ein anderes Textfeld ist, das ausschließlich zur Bearbeitung verwendet wird. Dieser Editor wird in das Textfeld eingefügt und als der eigentliche Ersthelfer festgelegt.

Um das Textfeld oder das Suchfeld abzurufen, können Sie die Ansichtshierarchie mit superview beim Ersthelfer aufrufen. (Ich denke, es ist die direkte Superansicht des Feldeditors.) Ich bin mir ziemlich sicher, dass das eigentliche Textfeld auch als Stellvertreter des Feldexperten festgelegt ist, also könnte man es auch so bekommen, aber ich erinnere mich nicht, wo ich das gelesen habe.

Weitere Informationen zum Feldeditor finden Sie unter NSWindow class reference.

+0

Für mich zumindest, es ist Superview Superview des Feldeditors. Die direkte Übersicht des Feldeditors ist eine private Clip-Ansichtsklasse. – Vervious

Verwandte Themen