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

问题描述 投票:0回答:1

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

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

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

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

swift macos cocoa nstableview
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.