我做了一個小應用程序,它顯示狀態欄/菜單欄中的CPU溫度。它工作正常,除非它突出顯示時停止更新(當我點擊它時)。當我點擊其他地方(突出顯示被刪除)時再次工作。有沒有辦法確保應用程序在點擊時突出顯示(突出顯示的模式)。NSStatusItem標題沒有更新時突出顯示
我正在使用NSTimer
來每5秒獲取一次溫度。即使我刪除了setHighlight方法,應用程序也會停止更新,如果我點擊狀態欄應用程序。
我做了一個小應用程序,它顯示狀態欄/菜單欄中的CPU溫度。它工作正常,除非它突出顯示時停止更新(當我點擊它時)。當我點擊其他地方(突出顯示被刪除)時再次工作。有沒有辦法確保應用程序在點擊時突出顯示(突出顯示的模式)。NSStatusItem標題沒有更新時突出顯示
我正在使用NSTimer
來每5秒獲取一次溫度。即使我刪除了setHighlight方法,應用程序也會停止更新,如果我點擊狀態欄應用程序。
你應該爲此使用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];
}
您可以使用該解決方案中提到的線程How to add animated icon to OS X status bar?
但不是使用的NSTimer,你可以使用GCD。無論您想要做什麼,您都可以更新圖片或標題。