如何将OSX应用程序带到前端?

时间:2015-04-03 17:44:42

标签: objective-c xcode macos

我正在开发一个小型OSX应用程序(它是一个菜单栏应用程序)。当我最初构建/启动应用程序时,它会转到前台,所有其他应用程序都会转到后台(就像它们应该的那样)。当我点击另一个应用程序时,该应用程序出现并且我的应用程序返回(应该如此),但当我点击我的应用程序时,它不会再次出现。另一个应用程序仍然是最前面的应用程序(无论其他应用程序是什么)。

除了它的奇怪之外,这个问题的一大问题是当我的应用程序不是最前面的应用程序时,没有任何悬停操作或游标可以工作。

有没有办法以编程方式强制它到前面?如何点击它并没有带来前进?...

1 个答案:

答案 0 :(得分:7)

我在this question找到了答案。可以使用以下任一方法完成:

[[NSApplication sharedApplication] activateIgnoringOtherApps : YES];

或者这个:

[[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)];