1

到目前为止,我的 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
}

我不明白为什么两个事件没有触发任何线索?

非常感谢罗纳德

4

2 回答 2

2
  1. mouseWasHeld:似乎是其他任何地方的计时器设置的回调。在您的代码中查找@selector(mouseWasHeld:)并找出未安排计时器的原因。
  2. mouseMoved:使用-[NSWindow setAcceptsMouseMovedEvents:].
于 2012-10-18T09:40:30.763 回答
1

mouseMoved:除非您添加跟踪区域,否则不会调用。

 NSTrackingAreaOptions options = NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways;
 NSTrackingArea *trackingArea = [[NSTrackingArea alloc] initWithRect:self.frame options:options owner:self userInfo:nil];
 [self addTrackingArea:trackingArea];
于 2012-10-18T11:32:44.730 回答