Objective c 如何将图标添加到NSMenuItem的右侧

Objective c 如何将图标添加到NSMenuItem的右侧,objective-c,cocoa,nsmenuitem,Objective C,Cocoa,Nsmenuitem,我试图在菜单项旁边的右侧添加一些图标,理想情况下是完全正确的。我知道NSMenuItem允许您添加菜单项(例如,请参见示例)。我真的在寻找OSX Wifi菜单中的安全/信号强度指示灯 我见过的一种方法是将项目添加到菜单中,并使用setView为每个项目提供NSView。然而,这似乎比实际情况要复杂得多。有没有一种方法可以将一个图标/多个图标添加到菜单中?在菜单的左侧,这很简单,甚至可以从Interface Builder获得 至于右边,我想你已经读过苹果的文档了。我同意,它比需要的复杂得多,有许

我试图在菜单项旁边的右侧添加一些图标,理想情况下是完全正确的。我知道NSMenuItem允许您添加菜单项(例如,请参见示例)。我真的在寻找OSX Wifi菜单中的安全/信号强度指示灯


我见过的一种方法是将项目添加到菜单中,并使用setView为每个项目提供NSView。然而,这似乎比实际情况要复杂得多。有没有一种方法可以将一个图标/多个图标添加到菜单中?

在菜单的左侧,这很简单,甚至可以从Interface Builder获得

至于右边,我想你已经读过苹果的文档了。我同意,它比需要的复杂得多,有许多缺点

你有没有考虑过一个黑客的解决方法?
只需创建没有标题的菜单,并设置一个非常宽的图标图像,包括标题和图标。
如果用户希望通过键入菜单标题的开头在菜单中导航,则可以松开键盘导航,如果标题需要动态,则可能无法使用,但根据此功能的上下文,值得一试

与此菜单的最后一项类似:

您刚才提到的菜单项(信号强度指示器)是使用自定义视图构建的。每个NSMenuItem都可以保存一个视图属性。必须使用自定义NSView设置此属性。