自定义NSMenu高亮显示颜色,而不使用自定义视图



是否有任何简单的方法可以更改标准NSMenu的高亮条颜色,而无需为每个条目创建自定义视图?

我所想要的只是能够在标准NSMenuItems上将蓝色突出显示颜色更改为我选择的颜色。我不需要自定义视图,并且希望避免仅仅为了更改突出显示颜色而重新实现一个简单的菜单。

只是回答我自己的问题,让其他人知道我的发现。

不可能更改标准菜单项的高亮显示,因为系统在幕后做了一些技巧来绘制菜单项使用的渐变填充。

从本质上讲,高亮显示颜色设置为正常颜色,然后系统将"高亮显示颜色"替换为实际渐变色,而不是纯色。

进行自定义高亮显示的唯一真正方法是创建一个基于视图的菜单,然后自己绘制所有图形。

最新更新