Dav*_*eto 21 macos cocoa objective-c nsapplication
我有一个后台进程,当按下热键时会出现透明窗口:
[window makeKeyAndOrderFront:nil];
[[content animator] setAlphaValue:1.0]; // alpha was 0.0
Run Code Online (Sandbox Code Playgroud)
...窗口显示正常并在其他窗口前面(我想要它),但是直到我手动点击窗口,无论应用程序处于活动状态,当窗口出现时仍保持活动状态.我期待'makeKeyAndOrderFront'也可以使应用程序处于活动状态,但是在我的-applicationWillBecomeActive中添加NSLog行会显示在执行鼠标单击之前没有获得任何活动通知.
有没有人知道我如何设置我的应用程序@我同时发出-makeKeyAndOrderFront?我需要它激活,以便它可以开始接受键盘输入 - 需要任何帮助:-)
小智 49
看看[[NSApplication sharedApplication] activateIgnoringOtherApps : YES];.
Arv*_*vin 11
10.6或更高
[[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)];
Run Code Online (Sandbox Code Playgroud)
@Arvin 的Swift 4.2+答案
NSRunningApplication.current.activate(options: [.activateIgnoringOtherApps, .activateAllWindows])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9727 次 |
| 最近记录: |