Sci*_*y77 5 macos cocoa objective-c nsevent mouseevent
我一直在搜索Apple文档,我唯一能找到的关于双击的功能只是返回了点击之间的可接受时间,因为它被认为是双击.
有人可以给我看一个双击事件的例子吗?
Jer*_*man 14
覆盖NSResponder方法-mouseUp:并检查提供的事件clickCount.如果clickCount == 2,那么你正在看双击.如果是1,则单击一下.0,然后他们在鼠标按下和鼠标按下之间等待了足够长的时间,系统认为它不是点击,只是向下然后向上事件.
- (void)mouseUp:(NSEvent *)event
{
NSInteger clickCount = [event clickCount];
if (2 == clickCount) [self handleDoubleClickEvent:event];
}
Run Code Online (Sandbox Code Playgroud)
这假设处理点击的对象是响应者链的一部分.如果没有,你将不得不以另一种方式获取你的事件,比如子类化NSApplication或NSWindow覆盖,-sendEvent:以便在它进一步传递之前拦截相应的事件.
| 归档时间: |
|
| 查看次数: |
6008 次 |
| 最近记录: |