我正在尝试在我的应用程序中实现拖放功能,但遇到了 mouseUp 事件未触发的问题。如果我只是在视图上单击并释放它,它就会触发,但如果我拖动,我的 mouseDragged 事件就会触发,仅此而已。
通过尝试不同的事情,我发现问题出在我的 dragImage 调用中,但我现在不知道如何解决它。
这是我的代码:
-(void) mouseDragged:(NSEvent *)theEvent
{
isDragging = YES;
if ([selectedCellRowIndex longValue] >= 0)
{
NSImage *im = [[NSImage alloc]initWithContentsOfFile:@"/Users/UserName/Desktop/drag.png"];
NSSize dragOffset = NSMakeSize(0.0, 0.0);
NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard];
[pboard declareTypes:[NSArray arrayWithObject:NSTIFFPboardType] owner:self];
[pboard setData:[im TIFFRepresentation] forType:NSTIFFPboardType];
[self dragImage:im
at:downPointRelativeToTable
offset:dragOffset
event:theEvent
pasteboard:pboard
source:self
slideBack:YES];
}
}
有谁知道我的问题可能出在哪里?!谢谢!