Чистый способ уйти в отставку первого респондента NSSearchField, когда закончите? - PullRequest
2 голосов
/ 11 декабря 2011

В моем приложении у меня есть NSSearchField, который привязан к контроллеру массива, который выполняет поиск по типу пользователя.

Проблема состоит в том, что поле поиска никогда не переуступает статус первого респондента, как только оно его получает.

Каким будет самый чистый способ отказа от статуса первого респондента, когда пользователь нажимает Enter или щелкает за пределами поля поиска?Если возможно, я бы предпочел сделать как можно больше работы в Интерфейсном Разработчике.

1 Ответ

10 голосов
/ 11 декабря 2011

[searchField.window makeFirstResponder:nil]

Если вы просто хотите избавиться от кольца фокусировки, вы можете отключить его в NIB.

Если вы хотите подать в отставку первого респондента, когда пользователь нажимает пустойпробел в окне, вы должны использовать пользовательский NSView в качестве представления содержимого окна и переопределить mouseDown: для вызова вышеуказанного метода.

...