如何在可可中为具有两个单独功能的 NSButton 分配单击事件和双击事件(没有子类化按钮)
问问题
1885 次
3 回答
4
NSApplication 可以给你一个NSEvent
给定的选择器。因此,只需修改您希望添加双击逻辑以支持该事件的方法,并使用其clickCount
属性来响应任意数量的连续点击,如下所示:
- (void)someMethod:(id)sender {
NSEvent *event = [NSApp currentEvent];
switch (event.clickCount) {
case 1:
//Handle a single click
break;
case 2:
//Handle a double click
break;
default:
break;
}
}
于 2013-05-29T06:07:11.940 回答
0
看看NSResponder class.Override- (void)mouseUp:(NSEvent *)theEvent
方法。
mouseUp:通知接收者用户已释放鼠标左键。
- (void)mouseUp:(NSEvent *)theEvent
{
if([theEvent clickCount]==1)
{
NSlog(@"Single click");
}
}
于 2013-05-29T06:34:05.590 回答
-1
下面应该解决您的问题
@property (strong) IBOutlet NSButton *myButton;
然后稍后将双重动作设置为您的 NSButton
[[self.myButton cell] setDoubleAction:@selector(showMsg:)];
[[self.myButton cell] setTarget:self];
于 2013-05-29T07:24:51.637 回答