2
我有一個面板上有一個圖像,我想讓它可以複製一個文件(不是圖像,圖像只會作爲一個服務器通過將應用程序外部的圖像「拖動」到任何其他接受拖入其中的文件的應用程序(例如Finder),將該文件的圖標拖到文件夾中。我怎樣才能做到這一點?可可OSX:我怎樣才能使圖像拖動
我實現了NSDraggingSource協議,但我不確定如何使圖像可拖動。它目前在ImageView
之內,它位於ImageViewCell
之內。
這裏是我實現的協議:
#import "DragNDropView.h"
@implementation
-(NSDragOperation)draggingSession:(NSDraggingSession *)session
sourceOperationMaskForDraggingContext: (NSDraggingContext) context{
switch(context){
case NSDraggingContextOutsideApplication:
return NSDragOperationCopy;
break;
default:
return NSDragOperationNone;
break;
}
}
-(void) draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint) screenPoint{
NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard];
NSPaseBoardItem *contents = [[NSPasteboardItem alloc]
inithWithPasteboardPreopertyList:SDKFileName ofType:NSFileContentsPboardType];
[pboard writeObjects[NSArray arrayWithObjects:contents, nil]];
}
-(void)drawRect:(NSRect)dirtyRect{
SDKFileName = @"example.example";
[super drawRect:dirtyRect];
}
@end