cocoa - 将 NSMenuItem 的标题椭圆化为菜单的宽度

标签 cocoa macos nsmenu nsmenuitem ellipsis

我想以编程方式更改 NSMenuItem 标题,但将其省略,以便此修改永远不会导致菜单宽度增加。我该怎么做?

最佳答案

你必须自己做这件事。 NSString 有一些 AppKit 添加的方法来确定字符串的长度,给定某种字体等。如果你发现字符串太长,从中间删除一个 block ,再次测量,一直这样做,直到字符串变短够了。

但是,这可能有点过头了,因为 NSMenuItem 会自动“省略”标题(尽管这可能会导致超宽的菜单)

关于cocoa - 将 NSMenuItem 的标题椭圆化为菜单的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3105913/

相关文章:

cocoa - NSView 自定义上下文菜单和按键

objective-c - Objective-C NSLock : lock and unlock a NSLock on different threads

Swift 函数文本字段获得焦点 OSX

cocoa - Apple mail.app 的 API?不公开?

macos - NSButton 改变宽度

cocoa - 带有多个参数的@selector

objective-c - "Source List"中仅某些项目的上下文菜单

objective-c - 锁定/解锁 mac osx

objective-c - 检测 NSColorPanel 中的颜色变化

cocoa - 在 NSArrayController 中查找特定元素