我正在桌面视图中实现拖放,我遇到的问题是拖动图像总是基于拖动开始的列,但我想使用第一列中的图像。
我查看了Apple的TableViewPlayground示例,其中“Complex OutlineView Window”执行了我想要的操作,但我无法弄清楚我在设置拖动方面做了哪些不同。
我在https://github.com/Uncommon/TableTest上放了一个简单的例子 - 如果你从第二列拖动它说“stuff”,那么看起来你正在拖动“stuff”这个词。我想要的是让拖动图像始终来自第一列(带有图标和名称),无论您拖动哪一列。
在我的数据源中,我实现tableView(tableView:,pasteboardWriterForRow:)
以启用拖动,但这不包括有关拖动开始的列的信息。我在示例应用程序中缺少什么才能使其工作?
NSTableView
拖动拖动开始的列,NSOutlineView
拖动轮廓列。如果你想改变图像,子类NSTableView
并覆盖dragImageForRows(with:tableColumns:event:offset:)
。