我想实现什么
我正在寻找一种在NSMenuItem
中显示标题标签和详细文本标签的方法。最好看起来像这样:
NSMenuItem
的对齐标题我已经尝试过什么
通过阅读文档,我发现了以下可能的实现:
NSView
并设置NSMenuItem.view
NSMenuItem
并使用NSAttributedString
首先,我尝试使用自定义NSView
。但是,我无法正确显示NSMenuItem
的大小以显示所有可用的文本。我猜有些自动调整大小的蒙版无法正常工作,但我不确定。同样,我需要为子菜单重新实现选择/箭头,...
然后我开始尝试NSAttributedString
。我计算出的字符最多的标题,然后用title += string.padding(toLength: maxTitleLength, withPad: " ", startingAt: 0)
填充字符串。 NSAttributedString
为标题和详细标签涂上不同的颜色。但是,这似乎不起作用,因为尽管标题被填充为相同的长度,但细节标签未正确对齐。我想这很有意义,因为字符的宽度不同?
TL; DR-问题
所以还有其他方法可以实现我没有找到的所需设计吗?您对我有什么建议吗?
没关系,我自己找到了答案。实际上,现在可以通过使用view
的NSMenuItem
属性设置自定义视图来为我工作。这个答案将我引向正确的方向:Highlighting a NSMenuItem with a custom view?。