Objective c 在NSOutlineView或NSTableView中选择时如何反转图标

Objective c 在NSOutlineView或NSTableView中选择时如何反转图标,objective-c,cocoa,nstableview,nsoutlineview,Objective C,Cocoa,Nstableview,Nsoutlineview,在我的应用程序中,我使用NSOutlineView和NSTableView(通过NSImageCell)中的图标 图标看起来不错,但选中该行后,图标不太可见: 例如,在Finder中,所选图标会显示白色底片: 如何在我的应用程序中实现此效果?如果您希望图像自动着色为可可色,则需要确保isTemplate设置为YES。更多信息,请访问: 但是,由于您希望图像在正常状态下是全色的,因此使用模板图像对您来说不是一个选项,因为它会将图像染成灰色,或者根据上下文的需要。现在,您必须从两个选项中选择一个

在我的应用程序中,我使用
NSOutlineView
NSTableView
(通过
NSImageCell
)中的图标

图标看起来不错,但选中该行后,图标不太可见:

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


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

如果您希望图像自动着色为可可色,则需要确保
isTemplate
设置为
YES
。更多信息,请访问:

但是,由于您希望图像在正常状态下是全色的,因此使用模板图像对您来说不是一个选项,因为它会将图像染成灰色,或者根据上下文的需要。现在,您必须从两个选项中选择一个:

  • 提供一个替代图像,该图像为正常图像的白色版本,并根据所选图像状态进行切换 细胞

  • 生成一个替代的图像,通过着色您自己的正常之一,并切换它如上所述


  • 我声明Render As设置为
    模板图像
    (即使用
    .xAssets
    ),但结果看起来仍然相同。我还在
    NSImage
    上直接尝试了
    setTemplate
    ,得到了相同的结果