1

アプリが生成するファイルをドラッグできるドラッグ ビューを作成しようとしています。これは のサブクラスでNSImageViewあり、これまでにこのメソッドを作成しました。

- (void)mouseDown:(NSEvent *)pTheEvent {
    NSPoint tvarMouseInWindow = [pTheEvent locationInWindow];
    NSPoint tvarMouseInView   = [self convertPoint:tvarMouseInWindow fromView:nil];

    NSSize zDragOffset = NSMakeSize(0, 0);
    NSPasteboard *zPasteBoard;

    zPasteBoard = [NSPasteboard pasteboardWithName:NSDragPboard];
    [zPasteBoard declareTypes:[NSArray arrayWithObject:NSTIFFPboardType] owner:self];
    [zPasteBoard setData:[[self image] TIFFRepresentation] forType:NSTIFFPboardType];

    [self dragImage:[self image] at:tvarMouseInView offset:zDragOffset event:pTheEvent pasteboard:zPasteBoard source:self slideBack:YES];

    return;
}

含まれている画像を imageView からドラッグして Finder ウィンドウにドロップしようとすると、スライドして戻り、コピーされません。NSViewファイルのドラッグ (ドロップではなく) ゾーンを適切に実装するにはどうすればよいですか?

4

1 に答える 1

0

少し試行錯誤し、NSView提供されるすべての方法を調べた後、解決策を見つけました。これが正しいものです:

[self dragFile:myFile fromRect:[self bounds] slideBack:YES event:pTheEvent];

のインスタンスではなく、「ファイル」を作成する必要がありますUIImage。しかし、私のアプリはファイルを生成しますが、とにかくこれが欲しいのです!

于 2013-09-05T12:32:34.250 に答える