【问题标题】:Return focus to previous app's window after makeKeyAndOrderFront在 makeKeyAndOrderFront 之后将焦点返回到上一个应用程序的窗口
【发布时间】:2014-02-27 21:47:59
【问题描述】:

我有一个状态栏菜单应用程序 - 它不在 Dock 中运行(UIElement 为 YES)。

在用户定义的时间段后,它会将其中一个窗口置于最前面(使用 makeKeyAndOrderFront)。设置了一个 NSTimer 以在几秒钟后摆脱它 - 我关闭窗口并隐藏应用程序: [NSApp 隐藏];

我的问题是,我怎样才能把以前的应用程序的窗口放回前面?它是可见的,但不是前/焦点窗口。

编辑:如果有助于澄清我正在尝试做的事情,当您使用键盘快捷键调用应用程序 Dash 然后将其关闭时,以前在前面的应用程序会返回到前面。

【问题讨论】:

    标签: macos nsapplication


    【解决方案1】:

    我想多了 - 作为用户,隐藏一个应用程序是可能的,它会自动将焦点恢复到应用程序中下一行的窗口。这就是我在代码中所要做的:

    [NSApp hide:nil];
    

    为了更好地使用全屏应用程序,我还必须关闭我的应用程序中的窗口,即使它已被隐藏 - 否则,当我的应用程序的窗口下一次显示时,OS X 会跳转到我最后一个窗口的空间看到了,不和谐的经历。

    [self.theWindow close];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2022-07-05
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多