【问题标题】:How to make a drag & drop for NSTableCellView like this如何像这样为 NSTableCellView 进行拖放
【发布时间】:2017-03-30 04:38:58
【问题描述】:

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

【问题讨论】:

    标签: objective-c macos cocoa nstablecellview


    【解决方案1】:

    Drag and Drop Programming

    拖动的图像

    在拖动会话中拖动的图像只是一个图像 表示粘贴板上的数据。虽然一拖 目的地可以访问图像,它主要关心的是 图像所代表的粘贴板数据——拖动操作 最终执行的目标是在粘贴板数据上,而不是在 图片本身。

    Custom drag image with NSTableView as drag source

    【讨论】:

      【解决方案2】:

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

      NSView 到 NSImage:link

      NSTableCellView 子类中覆盖draggingImageComponents

      -(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];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-10
        • 2011-01-19
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多