如何制作拖拽像这样下载NSTableCellView

时间:2017-03-30 04:38:58

标签: objective-c macos cocoa nstablecellview

我试图实施一个拖拉机NSTableCellView的下拉看起来像截图,但我唯一可以做的就是文字,而不是整个单元格,如下面的屏幕截图:(

enter image description here

2 个答案:

答案 0 :(得分:0)

Drag and Drop Programming

  

拖动图像

     

在拖动会话中拖动的图像只是一个图像   表示粘贴板上的数据。虽然拖了一下   目的地可以访问图像,其主要关注点是   图像表示的粘贴板数据 - 拖动操作   目标最终执行的是粘贴板数据,而不是   图像本身。

请参阅Custom drag image with NSTableView as drag source

答案 1 :(得分:0)

以下是我对我的问题的回答:)

NSView to NSImage:link

覆盖draggingImageComponents子类

中的NSTableCellView
-(NSArray *) draggingImageComponents{
    self.layer.opacity = 0.5;
    NSImage *image = [self imageRepresentation];
    self.layer.opacity = 1;

    NSDraggingImageComponent *draggingImage = [NSDraggingImageComponent draggingImageComponentWithKey:@"background"];
    draggingImage.contents = image;
    draggingImage.frame = self.bounds;
    return @[draggingImage];
}