我有一个带有跟踪区域的视图,它根据鼠标在视图中的位置更改鼠标光标。同样的视图也是特定类型文件的拖动目的地。
当我将文件(例如从 Finder)拖到此视图中时,绿色加号图标会短暂显示在光标旁边,但一旦跟踪区域更新光标后就会消失。有什么方法可以告诉我正在拖动鼠标并且如果是则不更新光标?
不像我希望的那样直接,但我想出的一个解决方案是在NSDraggingDestination
方法期间设置一个标志,然后在设置光标的代码中检查该标志。这似乎工作得很好。
- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
self.dragIsBeingPerformed = YES;
// Rest of method.
}
- (void)draggingExited:(id<NSDraggingInfo>)sender {
self.dragIsBeingPerformed = NO;
// Rest of method.
}
- (void)concludeDragOperation:(id<NSDraggingInfo>)sender {
self.dragIsBeingPerformed = NO;
// Rest of method.
}