5

我有一些关键事件,也对应于按钮。我必须设置/调用什么属性/方法才能让按钮看起来很沮丧(改变状态?)说半秒钟?

4

2 回答 2

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];
}

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

于 2013-05-11T20:47:54.790 回答
1

我相信按钮单元的-setHighlighted:方法控制按钮是否看起来被按下。您可能还需要-setNeedsDisplay:在更改按钮后调用该按钮,并且该按钮可能会自行更改其单元格的突出显示状态,因此恐怕您可能需要摆弄才能使其正常工作。

(不过,我必须承认,我对这一切并不完全确定。)

于 2013-05-12T03:37:13.183 回答