2014-10-10 3 views
0

Я сделал небольшое приложение, которое показывает температуру процессора в строке состояния/строке меню. Он отлично работает, за исключением того, что он полностью перестает полностью обновляться, когда он подсвечивается (когда я нажимаю на него). И работает снова, когда я нажимаю в другом месте (выделение удаляется.). Есть ли способ убедиться, что приложение продолжает обновляться, когда на него нажимается (режим подсвечивания).NSStatusItem название не обновляется при подсвечивании

Я использую NSTimer, чтобы получить температуру каждые 5 секунд. Даже если я удалю метод setHighlight, приложение перестанет обновляться, если я нажму на приложение состояния.

ответ

1

Для этого следует использовать NSInvocation.

NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(reload_Live_Data)]]; 
[invocation setTarget:self]; 
[invocation setSelector:@selector(reload_Live_Data)]; 

timer=[NSTimer timerWithTimeInterval:5 invocation: invocation repeats:YES]; 
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 

-(void) reload_Live_Data 
{ 
    [_statusItem setTitle:@“xyz”]; 
    [_statusItem setIcon:image]; 
} 
0

Вы можете использовать упоминание решение в потоке How to add animated icon to OS X status bar?

однако вместо того, чтобы использовать NSTimer, вы можете использовать НОД. Вы можете обновлять изображение или заголовок, что хотите.

 Смежные вопросы

  • Нет связанных вопросов^_^