以编程方式按下可可按钮

Jam*_*rtt 5 macos cocoa objective-c nsbutton

我有一些关键事件,也对应于按钮.我必须设置/调用按钮看起来很沮丧(更改状态?)半秒钟的属性/方法?

Ben*_* L. 1

我解决这个问题的方法是将 NSButton 设置为“Push On Push Off”类型,然后在我的按键事件处理程序中使用以下代码:

NSButton *button = [self.superview viewWithTag:event.keyCode];
if (button != nil && button.state == NSOffState) {
    [button performClick:event];
    [button performSelector:@selector(performClick:) withObject:event afterDelay:0.5];
}
Run Code Online (Sandbox Code Playgroud)

这将突出显示该按钮,就像用户单击了它一样,然后它将在半秒内再次单击它。