Щелкните NSPushButton программно с анимацией

Я только что столкнулся с проблемой, которую уже знаю по другим языкам/фреймворкам программирования... Всякий раз, когда пользователь нажимает определенную кнопку на клавиатуре, он запускает то же действие, что и при нажатии определенной кнопки в графическом интерфейсе. (Некоторые ребята называют это «ярлыками»; D)

Чтобы дать пользователю оптическую обратную связь, я хотел бы программно «щелкнуть» кнопку, а не вызывать те же функции, которые вызываются при нажатии кнопки.

Если я установлю кнопку в качестве эквивалента клавиши в IB, она будет выглядеть именно так, как я хочу. Невозможно сделать это здесь, так как ярлык должен быть просто включен, если правильные текстовые поля имеют фокус.

Не удалось найти метод в NSButton или подобном, который звучал бы правильно. Я уверен, что вы, ребята, можете дать мне какое-то направление!

С наилучшими пожеланиями и заранее спасибо


person guitarflow    schedule 12.01.2012    source источник


Ответы (1)


Вы можете просто отправить performClick: на кнопку. Он подсветит себя, отправит действие своей цели, а затем снимет выделение.

[self.someButton performClick:self];

Если вы действительно хотите просто выделить и снять выделение с кнопки вручную, вы можете использовать метод highlight:.

[self.someButton highlight:YES]; // button appears pressed
[self.someButton highlight:NO]; // button appears unpressed
person rob mayoff    schedule 12.01.2012
comment
Точно! Спасибо за ваш ответ .... почему я сам этого не видел ... может быть, время суток ;-) - person guitarflow; 12.01.2012
comment
Я отредактировал свой ответ. Возможно, вы видели мой оригинальный ответ. Новый ответ лучше. - person rob mayoff; 12.01.2012
comment
Яп, видел. Мою тоже отредактировал ;D - person guitarflow; 12.01.2012