我有一个状态项:
@property (nonatomic, strong) NSStatusItem* item;
我是这样创造的:
item=[[NSStatusBar systemStatusBar] statusItemWithLength: NSVariableStatusItemLength];
item.menu= self.menu;
item.image= icon;
item.highlightMode= YES;
图标为20x20,除了图标我还设置了属性标题:
NSDictionary* attr= @{NSForegroundColorAttributeName : [controller color],
NSFontAttributeName : [NSFont userFontOfSize: 12.5]};
item.attributedTitle=[[NSAttributedString alloc]initWithString: @"12190"
attributes: attr];
问题是状态栏仍然被切断:
它应显示整数,但它会从数字'9'中删除。当还有OS X 10.8时我写了这个应用程序,并且文本没有被删除。如果我没有弄错的话,它只适用于OS X 10.10。
答案 0 :(得分:0)
设置NSStatusItem title属性时遇到类似问题。当我从空文本转到item.title
值中的非空文本时,它出现了。当标题被更改时,第二次删除文本被修复。对我来说,解决方案是在前一个值为空字符串时将item.title
设置两次。
示例代码:
NSString *title = @"Status text";
// If previous value was empty set title twice to fix cut off issue
if (item.title.length == 0)
{
[item setTitle:title];
}
[item setTitle:title];