2013-07-08 2 views
3

Я разрабатываю приложение для какао, которое имеет главное окно и несколько панельных окон.NSTextField и FirstResponder

мне нужно автосохранение текста на NSTextField (который находится на окне панели), когда пользователь оставляет текстовое поле, щелкнув главное окно и т.д. до сих пор я пытался путем реализации resignFirstResponder на NSTextField подклассу, однако, если я нажмите на другое текстовое поле в том же окне, что и «resignFirstResponder», но если я просто нажму на пустое место в главном окне, он не активируется. (NSTextField теряет синий фокус, хотя)

Мне нужно захватить это событие NSTextField теряет кольцо фокусировки, чтобы сохранить незафиксированные изменения. Любые указатели будут высоко оценены.

Это текстовое поле на NSTableCellView

ответ

1

Как об использовании действия в NStextfield в отправлено на конец редактирования

enter image description here

Затем просто щелкните правой кнопкой мыши, перетащить на объект (или FirstResponder) в ваш файл Xib и подключите его к методу. Теперь он должен запустить этот метод, когда вы закончите редактирование (снимите флажок, Enter или Tab).

+0

Спасибо за ваш ответ, но он получает пожары по тому же поводу, как подать в отставку первый ответчик. Когда я нажимаю на свое главное окно, это не срабатывает. В это время текстовое поле теряет синее кольцо фокусировки, но сохраняет белый фон редактирования. :( – rustylepord

2

использование [[NSApp mainWindow] resignFirstResponder];

+0

Это правильный и трудный для поиска ответ. Это странно, но это так. Вы можете назвать это, когда изменения фокуса или внутри других методов делегата. – uchuugaka

+0

да, это так. У меня была точно такая же проблема. –

+0

mmm, как я узнаю, что фокус изменился? Поскольку отправленное действие в конце редактирования не срабатывает, когда я нажимаю на свое главное окно ... Так где я должен это назвать? – rustylepord

Смежные вопросы