在我的应用程序中,我在 NSOutlineView
和 NSTableView
中使用图标(通过 NSImageCell
)。
The icons look fine, but when the row is selected the icons aren't visible very well:
例如,在 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 阅读更多相关信息:
但是,由于您希望图像在正常状态下是全彩色的,因此使用模板图像不是您的选择,因为它会将其染成灰色,或者根据上下文需要。现在您必须选择以下两个选项之一:
提供替代图像,它是正常图像的白色版本,并根据所选的状态切换进/出 细胞
通过自己给正常图像着色并如上所述切换它来生成替代图像
关于objective-c - 如何在 NSOutlineView 或 NSTableView 中选择时反转图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759440/