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