我的View控制器到目前为止工作正常,除了一件事: 我有几个MouseEvents和一些火,其他没有。
- (void)mouseWasHeld: (NSTimer *)tim {
**// this works not**
}
- (void) mouseMoved:(NSEvent*)someEvent {
**// this works not**
}
-(void)mouseDown:(NSEvent *)event {
// this works
}
-(void)mouseDragged:(NSEvent *)event {
// this works
}
-(void)mouseUp:(NSEvent *)event {
// this works
}
我不明白为什么两个事件不会发出任何线索?
非常感谢 罗纳德
答案 0 :(得分:2)
mouseWasHeld:
似乎是其他任何地方的计时器设置的回调。在代码中查找@selector(mouseWasHeld:)
,找出未安排计时器的原因。mouseMoved:
的窗口is told to do so时才会调度-[NSWindow setAcceptsMouseMovedEvents:]
。答案 1 :(得分:1)
mouseMoved:
。
NSTrackingAreaOptions options = NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways;
NSTrackingArea *trackingArea = [[NSTrackingArea alloc] initWithRect:self.frame options:options owner:self userInfo:nil];
[self addTrackingArea:trackingArea];