在NSTableView中使用第一列拖动图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在NSTableView中使用第一列拖动图像相关的知识,希望对你有一定的参考价值。

我正在桌面视图中实现拖放,我遇到的问题是拖动图像总是基于拖动开始的列,但我想使用第一列中的图像。

我查看了Apple的TableViewPlayground示例,其中“Complex OutlineView Window”执行了我想要的操作,但我无法弄清楚我在设置拖动方面做了哪些不同。

我在https://github.com/Uncommon/TableTest上放了一个简单的例子 - 如果你从第二列拖动它说“stuff”,那么看起来你正在拖动“stuff”这个词。我想要的是让拖动图像始终来自第一列(带有图标和名称),无论您拖动哪一列。

在我的数据源中,我实现tableView(tableView:,pasteboardWriterForRow:)以启用拖动,但这不包括有关拖动开始的列的信息。我在示例应用程序中缺少什么才能使其工作?

答案

NSTableView拖动拖动开始的列,NSOutlineView拖动轮廓列。如果你想改变图像,子类NSTableView并覆盖dragImageForRows(with:tableColumns:event:offset:)

以上是关于在NSTableView中使用第一列拖动图像的主要内容,如果未能解决你的问题,请参考以下文章

Swift NSTableview 拖动选择多行而不是拖出表格

在 NSTableView 中显示图像

macOS - 如何在NSTableView中使用复选框?

NSTableView 和 NSOutlineView 在 tab 键上编辑

拖出 NSTableView 以移除

在拖放期间在 NSTableView 中打开一个间隙