画像のあるパネルがあり、ファイルを「ドラッグ」してフォルダーにコピーできるようにしたい (画像ではなく、画像はファイルのアイコンとしてサーバーに送信されるだけです)。アプリケーションの外部と、ドラッグされているファイルを受け入れる他のアプリケーション (例: Finder) に画像を移動します。これどうやってするの?
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