2010-01-23 4 views
4

У меня есть NSTableView, который работает корректно, за исключением случаев, когда я редактирую один из элементов таблицы. Если пользователь по-прежнему находится в режиме редактирования и нажимает кнопку «Лист ОК», таблица не обновляется.Правильно обрабатывает NSTableView правильные ячейки управления

Как заставить табличное представление зафиксировать изменения, когда пользователь нажмет кнопку ok (закрытие).

Кроме того, как мне обращаться с клавишей ESC, чтобы отменить редактирование?

Извините, если вопросы выглядят абсурдными, но я занимаюсь разработкой на Mac всего месяц.

ответ

3

Вы должны позвонить в [sheet makeFirstResponder:sheet], где sheet это лист, который вы собираетесь закрыть. Это отключит статус первого ответчика вдали от текстового поля, что приведет к его фиксации в процессе редактирования.

1

я имел ту же самую проблему: How to add data from an NSTextField to a Core Data Attribute without having to press Return or Tab after editing the TextField?

Там, кажется, быть разные решения. Если вы используете привязки для подключения NSTextField вашего листа редактирования к ArrayController, вы можете проверить «постоянно обновлять значение» в привязке значения TextFields в Interface Builder.

Другие решения объясняются очень хорошо в этом блоге для Red Sweater Блог: http://www.red-sweater.com/blog/229/stay-responsive

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