2009-12-22 5 views
1

Мне нужно моделировать кнопку нажимать на мою кнопку какао программно, и я пытаюсь сделать это на кокотроне, который, к сожалению, не имеет NSEvent method: mouseEventWithType: location: modifierFlags: timestamp: windowNumber: context: eventNumber: clickCount: давление: реализовано. Нужно ли вообще программно имитировать нажатие кнопки без создания события?Ищете метод какао для имитации нажатия кнопки, который не имеет события в качестве параметра

ответ

6

Не забудьте посмотреть в суперклассах, когда вы что-то ищете. Все NSControls, включая все NSButtons, отвечают на performClick: message.

Это, действительно, подходит для имитации нажатия кнопки? Если вы просто хотите что-то сделать, обычно лучше сказать контроллеру, чтобы он это сделал.

+0

У меня есть пункт меню и кнопка, которые делают то же самое. Щелчок по кнопке также управляет альтернативным текстом и состоянием кнопки. Как вы думаете, это хорошая причина использовать 'performClick:'? –

+1

@MichelePercich: Нет. Элемент меню и кнопка должны просто иметь одно и то же действие и (если необходимо) цель, и кнопка должна обновляться либо с помощью Bindings (привязка названия и состояния к соответствующим свойствам контроллера), либо вашим собственный код (после изменения состояния, обновите кнопку, чтобы она соответствовала). –

+0

Хорошо, спасибо большое –