Cocoa将焦点转移到我的应用程序

时间:2010-02-10 08:49:30

标签: objective-c cocoa

我有一个状态栏应用程序(在系统顶部栏中运行的应用程序)。当我点击状态栏中的图标时,会弹出一个菜单,它有一个项目来配置我的应用程序。当我按下这个项目时,会显示主应用程序窗口[wndMain makeKeyAndOrderFront:self];问题是单击状态栏图标不会激活应用程序,如果此时其他应用程序处于活动状态,则主窗口将在该活动应用程序下方打开,并且将失焦。如何在点击状态栏图标时以编程方式将焦点切换到我的应用程序,以便设置窗口始终在其他窗口的顶部打开,并且可以聚焦并准备好供用户输入?

谢谢

2 个答案:

答案 0 :(得分:17)

发送共享的NSApplication对象an activateIgnoringOtherApps: message

答案 1 :(得分:7)

NSApplication *myApp = [NSApplication sharedApplication];
[myApp activateIgnoringOtherApps:YES];
[self.window orderFrontRegardless];

您可以使用上面的代码来解决问题。