【发布时间】:2019-02-12 19:14:18
【问题描述】:
我有一个后台进程,当按下热键时会出现一个透明窗口:
[window makeKeyAndOrderFront:nil];
[[content animator] setAlphaValue:1.0]; // alpha was 0.0
...窗口在其他窗口的前面显示得很好(如我所愿),但是在我手动单击窗口之前,当窗口出现时处于活动状态的任何应用程序都保持活动状态。我期待“makeKeyAndOrderFront”也可以使应用程序处于活动状态,但是在我的 -applicationWillBecomeActive 中添加一个 NSLog 行表明它在执行鼠标单击之前没有收到任何活动通知。
有谁知道我如何在我发出 -makeKeyAndOrderFront 的同时设置我的应用程序处于活动状态?我需要它处于活动状态,以便它可以开始接受键盘输入 - 需要任何帮助:-)
【问题讨论】:
-
不要这样做 - Mac 应用程序通常不会有充分的理由窃取焦点。
-
但是在这种情况下,焦点应该在他的应用程序中,因为用户使用了热键。
-
@AlBlue“一般”。很多优秀的应用都在做“一般”不做的事情。
标签: objective-c cocoa macos nsapplication