Нет.Или, по крайней мере, не легко.Когда поле поиска или любое простое текстовое поле имеет фокус клавиатуры, оно фактически не является первым респондентом.Когда экземпляр NSTextField
(суперкласс NSSearchField
) запрашивается стать первым респондентом, он запрашивает у окна «редактор полей», который является другим текстовым полем, используемым исключительно для редактирования.Этот редактор помещается в текстовое поле и устанавливается как фактический первый респондент.
Чтобы получить текстовое поле или поле поиска, вы можете перейти вверх по иерархии представлений, используя superview
в первом респонденте.(Я думаю, что это прямое супервизор редактора полей.) Я почти уверен, что фактическое текстовое поле также установлено как делегат редактора полей, так что вы также можете получить его таким образом, но я не помню, где я это читал.
Дополнительная информация о редакторе полей доступна в справочнике NSWindow .