objective-c – 在NSOutlineView或NSTableView中选择时如何反转图标

在我的应用程序中,我使用NSOutlineView和NSTableView(通过NS
ImageCell)中的图标.

图标看起来很好,但是当选择行时,图标看不太清楚:

例如,在Finder中,所选图标会显示白色否定:

如何在我的应用程序中实现此效果?

最佳答案 如果您希望Cocoa自动对您的图像进行着色,则需要确保将isTemplate设置为YES.在
https://developer.apple.com/library/Mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSImage_Class/Reference/Reference.html#//apple_ref/occ/instm/NSImage/setTemplate了解更多相关信息:

但是,由于您希望图像在正常状态下呈现全彩色,因此使用模板图像不适合您,因为它会将其着色为灰色,或者根据上下文的需要.现在您必须选择以下两个选项之一:

>提供备用图像,该图像是正常图像的白色版本,并根据所选的状态切换/切换
细胞
>通过自己对正常图像进行着色并按上述方法切换,生成备用图像

点赞