Изменить вставку по умолчанию: действие в поле NSSearch

У меня есть представление с полем nssearchfield, nstableview и nsmatrix с тремя переключателями. Используя делегатов, я меняю выбранный переключатель, когда поле поиска является первым ответчиком, а пользователь нажимает вкладку, это работает отлично, но я хочу, чтобы поле поиска не теряло первого ответчика, когда пользователь нажимает вкладку.


person Javier Beltrán    schedule 30.05.2011    source источник


Ответы (1)


Вы можете подклассировать NSSearchField и добавить эту функцию

- (BOOL)resignFirstResponder {
    return NO;
}

Он откажется отказаться от статуса первого ответчика.

Другой способ — поймать уведомление windowDidUpdate. Они отправляются всякий раз, когда что-либо изменяется, включая смену фокуса, поэтому вы можете проверить firstResponder и снова сделать его первым ответчиком.

[searchField becomeFirstResponder];
person Chanok    schedule 31.05.2011