我有一个基于视图的NSTableView,我通过覆盖NSTableRowView子类中的drawSelectionInRect
来设置自定义高亮颜色。
最初,当我点击它时,我注意到文本自动从深色变为浅色(尽管最近它只是间歇性地执行此操作)。我在这个表行视图中也有图形,当突出显示行时对比度很差,所以我在表视图的委托中实现了tableViewSelectionDidChange
。
它发挥了很好的作用,除了tableViewSelectionDidChange
在之后我没有被调用我释放鼠标按钮。当我使用键盘更改选择tableViewSelectionDidChange
时会立即触发。
我的两个主要问题是:
tableViewSelectionDidChange
而不是使用mouseUp吗?我查看Apple应用程序如何处理这个问题。我查看了Mail.app并单击了消息列表中的一行(它包含附件回形针图标)。邮件通过不更改行颜色来处理它,直到鼠标向上。我有办法做到吗?
答案 0 :(得分:1)
有tableViewSelectionIsChanging:
委托方法似乎非常适合您的目的,不是吗?