我制作了一个小应用程序,在状态栏/菜单栏中显示CPU温度。它工作正常,但它突出显示时完全停止更新(当我点击它时)。当我点击其他地方时再次工作(突出显示被删除。)。有没有办法确保应用程序在单击它时突然更新(突出显示模式)。
我使用NSTimer
每5秒获取一次温度。即使我删除了setHighlight方法,如果我点击状态栏应用程序,应用程序也会停止更新。
答案 0 :(得分: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];
}
答案 1 :(得分:0)
您可以在帖子How to add animated icon to OS X status bar?
中使用解决方案然而,您可以使用GCD而不是使用NSTimer。您可以随意更新图像或标题。