当在Swift中发生列拖动或调整大小时,在NSTableView中检测列拖动或调整大小

qpgpyjmq  于 2023-02-03  发布在  Swift
关注(0)|答案(1)|浏览(101)

我正在macOS应用程序中使用NSTableView,并尝试在当前排序列的标题拖动栏旁边保留一个箭头图像。我已经成功地将箭头放置在拖动栏旁边,但它只在释放拖动时更新其位置。我需要它在进行列拖动/调整大小时更新其位置。
我尝试过使用tableView(_:mouseDraggedWith:)mouseDragged(with event: NSEvent)tableView(_:didDrag:)委托方法,但是mouseDragged函数在调整列大小时不触发,didDrag方法仅在释放鼠标时触发。
我还尝试过使用NSTableView.columnDidMoveNotification通知,但它也只在释放拖动后触发。
如何在鼠标单击被释放之前检测到正在发生的对列的拖动或调整大小?

ni65a41a

ni65a41a1#

NSTableView有一个方法setIndicatorImage(_:in:),它将图像放在列标题的右端(可能显示排序指示符)。

相关问题