繁体   English   中英

可可/斯威夫特:使用图片时,NSStatusBarItem的文本被修剪

[英]Cocoa/Swift: NSStatusBarItem's text gets trimmed when using a picture

在为MacOS创建与NSStatusBar.systemStatusBar相关的应用程序时,我偶然发现了一个看起来很奇怪的问题。 问题是:当为NSStatusBar使用图像和文本时,除非您手动指定了足够的长度,否则文本将被剪切,否则将被硬编码并导致交替长度的问题。 如何解决呢?

// The -1 is supposed to mean "variable length"
let myStatusItem = NSStatusBar.systemStatusBar().statusItemWithLength(CGFloat(-1))
myStatusItem.image = NSImage(named: "customImage")
myStatusItem.title = "Some special information"

这将是正常情况下会出现此问题的情况。

玩弄一些可笑的变化之后,我意识到这个问题可以同时使用.title伪当固定。 NSStatusBar项的attributedTitle参数。

另外, 声明标题之前 ,请确保先声明.image。 如果要使用.attributedTitle ,请在.title之后定义 -如果您要使用普通的.title ,只需在.attributedTitle之后定义即可。

// The -1 is supposed to mean "variable length"
let myStatusItem = NSStatusBar.systemStatusBar().statusItemWithLength(CGFloat(-1))
myStatusItem.image = NSImage(named: "customImage")
myStatusItem.title = "Some special information"
myStatusItem.attributedTitle = NSAttributedString(string: "Some special information")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM