使用Cocoa在另一个应用程序之上创建HUD

时间:2015-08-12 22:13:04

标签: objective-c macos swift cocoa hud

是否可以在另一个应用程序的窗口顶部创建一个带有Cocoa的HUD?例如,如果我要创建一个扑克HUD,它会在扑克客户端窗口上显示有关对手的信息,我将如何在OS X中实现它(使用Cocoa?)。

例如,我将如何重新创建以下Windows程序(PokerTracker HUD:在PokerStars扑克之星上显示HUD)?

For example the PokerTracker HUD

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您所要求的,但我认为HUD元素将是NSWindow设置为叠加层内的控件或视图。以下是配置它的一些关键步骤:

[myWindow setOpaque: NO];
[myWindow setBackgroundColor: [NSColor clearColor]];
[myWindow setLevel: NSStatusWindowLevel];

然后您需要跟踪哪个应用程序位于最前面,这样只有当目标应用程序位于前面时才会显示您的叠加层。我认为您可以通过找到目标应用的NSRunningApplication然后键值观察其active属性来实现此目的。