Как сделать перетаскивание для NSTableCellView, как это
2 ответа
Решение
Перетаскивание Программирование
Перетаскиваемое изображение
Изображение, которое перетаскивается в сеансе перетаскивания, - это просто изображение, представляющее данные на монтажном столе. Хотя пункт назначения перетаскивания может получить доступ к изображению, его главная задача связана с данными монтажного стола, которые представляет изображение - операция перетаскивания, которую в конечном итоге выполняет пункт назначения, выполняется с данными монтажного листа, а не с самим изображением.
См. Пользовательское изображение перетаскивания с NSTableView в качестве источника перетаскивания.
Вот мой ответ на мой вопрос:)
NSView to NSImage: ссылка
Override 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];
}