所有本地控件在其父窗口处于活动或非活动状态时均具有不同的外观。我们应该如何检查自定义组件的此状态,例如在呈现按钮单元格时?我们可以检查controlView.window的属性,例如isMainWindow和isKeyWindow,但它们并不覆盖所有情况。例如,如果您在桌面上打开应用程序的一个窗口并在全屏空间中打开另一个窗口,则根据公共API,只能有一个窗口是关键或主要的。但是,标准控件似乎在两个空间中都呈现为活动状态:请注意,Safari窗口中的工具栏按钮均呈现为活动状态。我们如何实现相同的行为?
NSWindow.hasActiveAppearance
的私有API。 - VadimNSWindow.hasActiveAppearance
覆盖了所有情况。但是该属性不符合KVC,因此我们需要找到一个私有通知或使用计时器来获取更新。 - Jonny