0

如何开始在 NSTableView 中实现拖放功能以重新排序项目,例如我们在 OSX 的Language & Text首选项面板中看到的项目?

我在网上找不到任何参考资料。也许我正在使用错误的关键字寻找它?

也许它甚至不是 NSTableView,也许我需要扩展 NSTableColumn 或 NSCell。

我在雪豹中使用 XCode 4.2。

任何帮助表示赞赏!

我从提到的面板附上一张图片来给出一个想法(将项目“Deutsch”拖到最后一个位置):

在此处输入图像描述

4

1 回答 1

2

实现以下拖放方法

1) - (BOOL)tableView:(NSTableView *)tv writeRows:(NSArray*)rows toPasteboard:(NSPasteboard*)pboard

2) - (NSArray *)namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination

3) - (void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint operation:(NSDragOperation)operation

4) -(void)awakeFromNib
{
        [tableView registerForDraggedTypes: [NSArray arrayWithObjects:NSPasteboardTypeString, nil]];
        [tableView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:NO];
}

同样在绑定中,将您的表连接到文件所有者的数据源

于 2013-09-13T09:30:10.617 回答