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