2015-04-28 8 views
0

У меня есть элемент статуса:NSStatusItem слишком короткий, текст отрезан

@property (nonatomic, strong) NSStatusItem* item; 

что я создаю так:

item=[[NSStatusBar systemStatusBar] statusItemWithLength: NSVariableStatusItemLength]; 
item.menu= self.menu; 
item.image= icon; 
item.highlightMode= YES; 

Икона является 20х20, а кроме значка я также настройки приписанного название:

NSDictionary* attr= @{NSForegroundColorAttributeName : [controller color], 
         NSFontAttributeName : [NSFont userFontOfSize: 12.5]}; 
item.attributedTitle=[[NSAttributedString alloc]initWithString: @"12190" 
               attributes: attr]; 

проблема в том, что в строке состояния по-прежнему получать отрезан:

enter image description here

Он должен отображать все число, но оно отключается от цифры «9». Я написал это приложение, когда еще была OS X 10.8, и текст не получал разреза. Если я не ошибаюсь, это происходит только с OS X 10.10.

+0

Похоже, 'attributedTitle' был амортизируется в 10.10. https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSStatusItem_Class/index.html –

ответ

0

Имел аналогичную проблему с настройкой свойства названия NSStatusItem. Он появился, когда я перешел от пустого текста к непустому тексту в значении 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]; 
Смежные вопросы