当我在系统偏好设置中更改系统高亮颜色时,所有应用程序中的大多数Cocoa控件(如NSTextField)会自动更新自己的显示以使用新颜色。
然而,NSTableView没有。它似乎与应用程序启动时使用的高亮颜色相吻合。
有什么方法可以解决这个问题吗?我可以在我的NSWindow中为NSSystemColorsDidChange添加一个观察者,当我改变系统颜色时会调用它,但是我应该怎么做呢?显而易见的事情,如:
contentView?.needsDisplay = true
或:
viewsNeedDisplay = true
似乎什么也没做。