我正在写一个自定义NSMenuItem
看法。我希望能够在 NSImageNameMenuOnStateTemplate
中使用系统默认的“开启状态”菜单项图像(名为 NSImageView
的图像)我的自定义 subview NSMenuItem
查看。
未选择菜单项时,复选标记图像看起来不错。选择后,我需要以某种方式以白色而不是正常的深灰色绘制图像。否则,深灰色复选标记在深蓝色选定菜单项背景下几乎不可见:
如何绘制白色复选标记图像?
最佳答案
我发现我可以通过设置与NSImageView
关联的NSImageCell
的backgroundStyle来更改复选标记图像颜色。如果选择了菜单项,将backgroundStyle 设置为NSBackgroundStyleDark
将生成一个白色复选标记。如果未选择菜单项,将backgroundStyle设置为NSBackgroundStyleLight
将产生正常的深灰色复选标记:
[stateImageView.cell setBackgroundStyle:(isSelected
? NSBackgroundStyleDark
: NSBackgroundStyleLight)];
如果菜单项被禁用,我可以通过禁用单元格来生成禁用的复选标记外观:
[stateImageView.cell setEnabled:NO];
关于objective-c - 制作自定义 NSMenuItem View 时如何反转 NSImageNameMenuOnStateTemplate 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110561/