0
我有一个视图,其中有一个跟踪区域,根据鼠标在视图中的位置改变鼠标光标。同样的观点也是某种文件类型的拖拽目标。检测鼠标是否被拖入AppKit
当我将一个文件(例如从Finder)拖动到该视图中时,绿色加号图标会在光标旁边短暂显示,但在跟踪区更新光标后会消失。有没有什么方法可以告诉我鼠标正在拖动,而不是更新光标?
我有一个视图,其中有一个跟踪区域,根据鼠标在视图中的位置改变鼠标光标。同样的观点也是某种文件类型的拖拽目标。检测鼠标是否被拖入AppKit
当我将一个文件(例如从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.
}