【发布时间】:2013-12-21 18:53:42
【问题描述】:
This answer 描述了如何设置 NSMenuItem 的字体以及字体颜色。
为了提醒用户弹出菜单中所选项目的问题,我将颜色设置为红色。效果很好,除了突出显示该项目时,背景变成蓝色,而且我的红色蓝色很难阅读并且看起来很糟糕。常规菜单项的字体从黑色变为白色。我希望修改后的菜单项在像这样突出显示时更改其字体颜色。
这是一个动态菜单。我在 -menuNeedsUpdate 中创建项目时设置字体/颜色。当然, -[NSMenuItem isHighlighted] 在那里返回 NO,因为项目刚刚创建。
我还尝试在 NSMenuDidBeginTrackingNotification 和 NSMenuDidBeginTrackingNotification 上添加观察者,但这也无济于事,因为这两个通知总是成对收到,每次单击菜单时会收到三到六对,然后在跟踪后有 结束 是另一个 -menuNeedsUpdate: 从头开始重新创建所有内容。我不确定菜单“跟踪”是什么意思,但显然这不是我想要的。
我想我会问是否有人为此想出了一个好的答案,然后我开始做一些真正像these guys did for a similar NSMenuItem quandary这样的笨拙的事情。
【问题讨论】:
标签: macos cocoa fonts nsmenuitem