Pergunta

Acabei de ter um problema que já conheço de outras linguagens / frameworks de programação .... Sempre que o usuário clica em um determinado botão do teclado, ele aciona a mesma ação do que quando um determinado botão na GUI é pressionado.(Alguns caras chamam isso de "atalhos"; D)

Para dar ao usuário um feedback óptico, gostaria de "clicar" no botão programaticamente, em vez de chamar as mesmas funções que são chamadas quando o botão é clicado.

Se eu definir o botão como um equivalente de chave no IB, ele ficará exatamente como desejo. Não posso fazer isso aqui, pois o atalho só deve ser ativado se os campos de texto corretos estiverem em foco.

Não foi possível encontrar um método no NSButton ou similar que parecesse correto. Tenho certeza que vocês podem me dar uma direção!

Atenciosamente e obrigado antecipadamente

Foi útil?

Solução

Você pode simplesmente enviar o código genérico do codificador para o botão.Ele se destacará, enviará sua ação ao alvo e, em seguida, se desmarcará.

[self.someButton performClick:self];

Se você realmente deseja apenas destacar e desmarcar o botão manualmente, pode usar o método performClick:.

[self.someButton highlight:YES]; // button appears pressed
[self.someButton highlight:NO]; // button appears unpressed
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top