NSTableView вызывает другое действие при нажатии - PullRequest
2 голосов
/ 17 июня 2011

Изучая цель c, я создал базовое приложение для покупок в Mac с 3 элементами интерфейса: NSTextField, NSButton и NSTableView.Основная идея заключается в том, что вы вводите что-то в текстовое поле, нажимаете кнопку добавления (или клавишу возврата), и оно добавляет это в табличное представление.Все работает, как и ожидалось, пока я не нажму на табличное представление, и в этот момент оно добавляет то, что в данный момент находится к текстовому полю, к табличному представлению.

Единственное действие, которое у меня есть, это addItem, который добавляет текстовое поле *Источник данных от 1007 * до NSTableView, NSMutableArray.Я установил, что он запускается только кнопкой и текстовым полем, а не NSTableView.Когда я удаляю действие из NSTextField, проблема прекращается.Есть предложения?

1 Ответ

3 голосов
/ 17 июня 2011

NSTextField запускает свое действие, когда пользователь нажимает клавиши Enter и , когда теряет фокус. Когда вы нажимаете на NSTableView, NSTextField теряет фокус, поэтому он вызывает свое действие.

Если вы хотите, чтобы оно отправляло свое действие только на Введите , на вкладке атрибутов NSTextField есть всплывающая кнопка с пометкой «Действие», которую можно установить на «Отправлено только для ввода». ».

...