如何让当前的NSControl点击NSWindow?我在 NSWindowController 上有一个鼠标按下事件,-(void)mouseDown:(NSEvent *)theEvent {
但是当我在 NSWindow 上放置的 NSControls 中单击时,
我根本没有调用鼠标按下事件。
我什至将 NSControls 子类化为自定义 NSViews,但是在里面单击时我也没有收到他们的鼠标按下事件。我在"是"中添加了setAcceptsTouchEvents
,并致电接受第一响应者,但它没有帮助。令人惊讶的是,当我单击NSWindow而不是任何NSControls时,我得到了鼠标关闭事件。
我在这里做错了什么?
试试这个
- (void) mouseDown:(NSEvent *)theEvent
{
if ( ([theEvent modifierFlags] & NSCommandKeyMask) != 0)
{
[self setFloatValue:100.0f];
[self.target performSelector:self.action withObject:self];
}
else
[super mouseDown:theEvent];
}
编辑:
目标应该是实现该方法的类实例。因此,例如,如果您的应用程序委托中有一个名为滑块的 IBAction,该 IBAction 连接到您的滑块:然后执行以下操作:
[self sendAction:@selector(sliderReport:) to:[NSApp delegate]];