2014-10-10 15 views
0

我做了一個小應用程序,它顯示狀態欄/菜單欄中的CPU溫度。它工作正常,除非它突出顯示時停止更新(當我點擊它時)。當我點擊其他地方(突出顯示被刪除)時再次工作。有沒有辦法確保應用程序在點擊時突出顯示(突出顯示的模式)。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]; 
}