-1

我正在尝试实现一个看起来像屏幕截图的拖放NSTableCellView,但我唯一能做的就是文本,而不是像下面的屏幕截图这样的整个单元格:(

在此处输入图像描述

4

2 回答 2

0

拖放编程

拖拽的图像

在拖动会话中拖动的图像只是表示粘贴板上数据的图像。尽管拖动目的地可以访问图像,但其主要关注的是图像所代表的粘贴板数据——目的地最终执行的拖动操作是在粘贴板数据上,而不是在图像本身上。

请参阅使用 NSTableView 作为拖动源的自定义拖动图像

于 2017-03-30T05:39:40.017 回答
0

这是我对我的问题的回答:)

NSView 到 NSImage:链接

draggingImageComponentsNSTableCellView子类中覆盖

-(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];
}
于 2017-03-30T06:44:54.503 回答